home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / prolog / brklyprl.lha / Emulator / Benchmarks / output < prev    next >
SHell self-extracting ARchive  |  1989-04-14  |  40.9 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: SHell self-extracting ARchive (archive/shar).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file POSIX shell script text executable default
99% file a /bin/sh script, ASCII text executable default (weak)
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% gt2 Shell Skript: '/bin/sh' default (weak)
100% detectItEasy Format: plain text[LF] default (weak)
100% binwalkID Executable script, shebang: "/bin/sh" default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 23 21 20 2f 62 69 6e 2f | 73 68 0a 23 20 54 68 69 |#! /bin/|sh.# Thi|
|00000010| 73 20 69 73 20 61 20 73 | 68 65 6c 6c 20 61 72 63 |s is a s|hell arc|
|00000020| 68 69 76 65 2c 20 6d 65 | 61 6e 69 6e 67 3a 0a 23 |hive, me|aning:.#|
|00000030| 20 31 2e 20 52 65 6d 6f | 76 65 20 65 76 65 72 79 | 1. Remo|ve every|
|00000040| 74 68 69 6e 67 20 61 62 | 6f 76 65 20 74 68 65 20 |thing ab|ove the |
|00000050| 23 21 20 2f 62 69 6e 2f | 73 68 20 6c 69 6e 65 2e |#! /bin/|sh line.|
|00000060| 0a 23 20 32 2e 20 53 61 | 76 65 20 74 68 65 20 72 |.# 2. Sa|ve the r|
|00000070| 65 73 75 6c 74 69 6e 67 | 20 74 65 78 74 20 69 6e |esulting| text in|
|00000080| 20 61 20 66 69 6c 65 2e | 0a 23 20 33 2e 20 55 6e | a file.|.# 3. Un|
|00000090| 70 61 63 6b 20 74 68 65 | 20 66 69 6c 65 20 62 79 |pack the| file by|
|000000a0| 20 74 79 70 69 6e 67 20 | 22 73 68 20 66 69 6c 65 | typing |"sh file|
|000000b0| 6e 61 6d 65 22 2c 20 77 | 68 65 72 65 20 22 66 69 |name", w|here "fi|
|000000c0| 6c 65 6e 61 6d 65 22 20 | 69 73 20 74 68 65 0a 23 |lename" |is the.#|
|000000d0| 20 20 20 20 6e 61 6d 65 | 20 6f 66 20 79 6f 75 72 | name| of your|
|000000e0| 20 66 69 6c 65 2e 20 49 | 74 20 77 69 6c 6c 20 63 | file. I|t will c|
|000000f0| 72 65 61 74 65 20 74 68 | 65 73 65 20 66 69 6c 65 |reate th|ese file|
|00000100| 73 20 69 6e 20 79 6f 75 | 72 20 63 75 72 72 65 6e |s in you|r curren|
|00000110| 74 0a 23 20 20 20 20 64 | 69 72 65 63 74 6f 72 79 |t.# d|irectory|
|00000120| 3a 0a 23 09 20 63 6f 6e | 63 61 74 2e 70 6c 0a 23 |:.#. con|cat.pl.#|
|00000130| 09 20 64 69 66 66 65 72 | 65 6e 2e 70 6c 0a 23 09 |. differ|en.pl.#.|
|00000140| 20 68 61 6e 6f 69 2e 70 | 6c 0a 23 09 20 6d 75 6d | hanoi.p|l.#. mum|
|00000150| 61 74 68 2e 70 6c 0a 23 | 09 20 6e 72 65 76 31 2e |ath.pl.#|. nrev1.|
|00000160| 70 6c 0a 23 09 20 70 61 | 6c 69 6e 32 35 2e 70 6c |pl.#. pa|lin25.pl|
|00000170| 0a 23 09 20 70 72 69 32 | 2e 70 6c 0a 23 09 20 71 |.#. pri2|.pl.#. q|
|00000180| 73 34 2e 70 6c 0a 23 09 | 20 71 75 65 65 6e 73 2e |s4.pl.#.| queens.|
|00000190| 70 6c 0a 23 09 20 71 75 | 65 72 79 2e 70 6c 0a 23 |pl.#. qu|ery.pl.#|
|000001a0| 09 20 63 6f 6e 63 61 74 | 2e 77 0a 23 09 20 64 69 |. concat|.w.#. di|
|000001b0| 66 66 65 72 65 6e 2e 77 | 0a 23 09 20 68 61 6e 6f |fferen.w|.#. hano|
|000001c0| 69 2e 77 0a 23 09 20 6d | 75 6d 61 74 68 2e 77 0a |i.w.#. m|umath.w.|
|000001d0| 23 09 20 6e 72 65 76 31 | 2e 77 0a 23 09 20 70 61 |#. nrev1|.w.#. pa|
|000001e0| 6c 69 6e 32 35 2e 77 0a | 23 09 20 70 72 69 32 2e |lin25.w.|#. pri2.|
|000001f0| 77 0a 23 09 20 71 73 34 | 2e 77 0a 23 09 20 71 75 |w.#. qs4|.w.#. qu|
|00000200| 65 65 6e 73 2e 77 0a 23 | 09 20 71 75 65 72 79 2e |eens.w.#|. query.|
|00000210| 77 0a 65 63 68 6f 20 65 | 78 74 72 61 63 74 69 6e |w.echo e|xtractin|
|00000220| 67 20 63 6f 6e 63 61 74 | 2e 70 6c 0a 63 61 74 20 |g concat|.pl.cat |
|00000230| 3e 20 63 6f 6e 63 61 74 | 2e 70 6c 20 3c 3c 20 27 |> concat|.pl << '|
|00000240| 45 4f 46 2e 73 68 61 72 | 27 0a 25 09 63 6f 6e 63 |EOF.shar|'.%.conc|
|00000250| 61 74 20 28 63 6f 6e 31 | 2c 20 63 6f 6e 36 29 0a |at (con1|, con6).|
|00000260| 25 09 54 68 65 73 65 20 | 74 77 6f 20 74 65 73 74 |%.These |two test|
|00000270| 73 20 61 72 65 20 73 69 | 6d 70 6c 65 20 65 78 61 |s are si|mple exa|
|00000280| 6d 70 6c 65 73 20 6f 66 | 20 74 68 65 20 63 6f 6e |mples of| the con|
|00000290| 63 61 74 20 70 72 65 64 | 69 63 61 74 65 0a 25 09 |cat pred|icate.%.|
|000002a0| 63 6f 6e 31 20 69 73 20 | 64 65 74 65 72 6d 69 6e |con1 is |determin|
|000002b0| 61 74 65 2c 20 63 6f 6e | 36 20 69 73 20 6e 6f 6e |ate, con|6 is non|
|000002c0| 2d 64 65 74 65 72 6d 69 | 6e 61 74 65 20 67 65 74 |-determi|nate get|
|000002d0| 74 69 6e 67 20 61 6c 6c | 20 36 20 61 6e 73 77 65 |ting all| 6 answe|
|000002e0| 72 73 0a 0a 6d 61 69 6e | 20 3a 2d 20 63 6f 6e 63 |rs..main| :- conc|
|000002f0| 61 74 31 2c 20 21 2c 20 | 63 6f 6e 63 61 74 36 2e |at1, !, |concat6.|
|00000300| 0a 0a 63 6f 6e 63 61 74 | 31 20 3a 2d 20 63 6f 6e |..concat|1 :- con|
|00000310| 63 61 74 28 5b 61 2c 62 | 2c 63 5d 2c 5b 64 2c 65 |cat([a,b|,c],[d,e|
|00000320| 5d 2c 58 29 2c 20 20 25 | 20 63 6f 6e 31 0a 09 77 |],X), %| con1..w|
|00000330| 72 69 74 65 28 58 29 2c | 6e 6c 2e 0a 63 6f 6e 63 |rite(X),|nl..conc|
|00000340| 61 74 36 20 3a 2d 20 63 | 6f 6e 63 61 74 28 58 2c |at6 :- c|oncat(X,|
|00000350| 59 2c 5b 61 2c 62 2c 63 | 2c 64 2c 65 5d 29 2c 20 |Y,[a,b,c|,d,e]), |
|00000360| 20 25 20 63 6f 6e 36 0a | 09 77 72 69 74 65 28 58 | % con6.|.write(X|
|00000370| 29 2c 6e 6c 2c 0a 09 77 | 72 69 74 65 28 59 29 2c |),nl,..w|rite(Y),|
|00000380| 6e 6c 2c 6e 6c 2c 0a 09 | 66 61 69 6c 2e 0a 0a 63 |nl,nl,..|fail...c|
|00000390| 6f 6e 63 61 74 28 5b 5d | 2c 4c 2c 4c 29 2e 0a 63 |oncat([]|,L,L)..c|
|000003a0| 6f 6e 63 61 74 28 5b 58 | 7c 4c 31 5d 2c 4c 32 2c |oncat([X||L1],L2,|
|000003b0| 5b 58 7c 4c 33 5d 29 20 | 3a 2d 20 63 6f 6e 63 61 |[X|L3]) |:- conca|
|000003c0| 74 28 4c 31 2c 4c 32 2c | 4c 33 29 2e 0a 0a 45 4f |t(L1,L2,|L3)...EO|
|000003d0| 46 2e 73 68 61 72 0a 65 | 63 68 6f 20 65 78 74 72 |F.shar.e|cho extr|
|000003e0| 61 63 74 69 6e 67 20 64 | 69 66 66 65 72 65 6e 2e |acting d|ifferen.|
|000003f0| 70 6c 0a 63 61 74 20 3e | 20 64 69 66 66 65 72 65 |pl.cat >| differe|
|00000400| 6e 2e 70 6c 20 3c 3c 20 | 27 45 4f 46 2e 73 68 61 |n.pl << |'EOF.sha|
|00000410| 72 27 0a 25 09 64 69 66 | 66 65 72 65 6e 20 28 74 |r'.%.dif|feren (t|
|00000420| 69 6d 65 73 31 30 2c 64 | 69 76 69 64 65 31 30 2c |imes10,d|ivide10,|
|00000430| 6c 6f 67 31 30 2c 6f 70 | 73 38 29 0a 25 09 54 68 |log10,op|s8).%.Th|
|00000440| 65 73 65 20 34 20 65 78 | 61 6d 70 6c 65 73 20 61 |ese 4 ex|amples a|
|00000450| 72 65 20 66 72 6f 6d 20 | 57 61 72 72 65 6e 27 73 |re from |Warren's|
|00000460| 20 74 68 65 73 69 73 0a | 0a 6d 61 69 6e 20 3a 2d | thesis.|.main :-|
|00000470| 0a 09 74 69 6d 65 73 31 | 30 28 49 31 29 2c 0a 09 |..times1|0(I1),..|
|00000480| 64 28 49 31 2c 78 2c 44 | 31 29 2c 0a 09 77 72 69 |d(I1,x,D|1),..wri|
|00000490| 74 65 28 44 31 29 2c 20 | 6e 6c 2c 0a 09 64 69 76 |te(D1), |nl,..div|
|000004a0| 69 64 65 31 30 28 49 32 | 29 2c 0a 09 64 28 49 32 |ide10(I2|),..d(I2|
|000004b0| 2c 78 2c 44 32 29 2c 0a | 09 77 72 69 74 65 28 44 |,x,D2),.|.write(D|
|000004c0| 32 29 2c 20 6e 6c 2c 0a | 09 6c 6f 67 31 30 28 49 |2), nl,.|.log10(I|
|000004d0| 33 29 2c 0a 09 64 28 49 | 33 2c 78 2c 44 33 29 2c |3),..d(I|3,x,D3),|
|000004e0| 0a 09 77 72 69 74 65 28 | 44 33 29 2c 20 6e 6c 2c |..write(|D3), nl,|
|000004f0| 0a 09 6f 70 73 38 28 49 | 34 29 2c 0a 09 64 28 49 |..ops8(I|4),..d(I|
|00000500| 34 2c 78 2c 44 34 29 2c | 0a 09 77 72 69 74 65 28 |4,x,D4),|..write(|
|00000510| 44 34 29 2c 20 6e 6c 2e | 0a 0a 64 28 55 2b 56 2c |D4), nl.|..d(U+V,|
|00000520| 58 2c 44 55 2b 44 56 29 | 20 3a 2d 20 21 2c 20 64 |X,DU+DV)| :- !, d|
|00000530| 28 55 2c 58 2c 44 55 29 | 2c 20 64 28 56 2c 58 2c |(U,X,DU)|, d(V,X,|
|00000540| 44 56 29 2e 0a 64 28 55 | 2d 56 2c 58 2c 44 55 2d |DV)..d(U|-V,X,DU-|
|00000550| 44 56 29 20 3a 2d 20 21 | 2c 20 64 28 55 2c 58 2c |DV) :- !|, d(U,X,|
|00000560| 44 55 29 2c 20 64 28 56 | 2c 58 2c 44 56 29 2e 0a |DU), d(V|,X,DV)..|
|00000570| 64 28 55 2a 56 2c 58 2c | 44 55 2a 56 2b 55 2a 44 |d(U*V,X,|DU*V+U*D|
|00000580| 56 29 20 3a 2d 20 21 2c | 20 64 28 55 2c 58 2c 44 |V) :- !,| d(U,X,D|
|00000590| 55 29 2c 20 64 28 56 2c | 58 2c 44 56 29 2e 0a 64 |U), d(V,|X,DV)..d|
|000005a0| 28 55 2f 56 2c 58 2c 28 | 44 55 2a 56 2d 55 2a 44 |(U/V,X,(|DU*V-U*D|
|000005b0| 56 29 2f 28 5e 28 56 2c | 32 29 29 29 20 3a 2d 20 |V)/(^(V,|2))) :- |
|000005c0| 21 2c 20 64 28 55 2c 58 | 2c 44 55 29 2c 20 64 28 |!, d(U,X|,DU), d(|
|000005d0| 56 2c 58 2c 44 56 29 2e | 0a 64 28 5e 28 55 2c 4e |V,X,DV).|.d(^(U,N|
|000005e0| 29 2c 58 2c 44 55 2a 4e | 2a 28 5e 28 55 2c 4e 31 |),X,DU*N|*(^(U,N1|
|000005f0| 29 29 29 20 3a 2d 20 21 | 2c 20 69 6e 74 65 67 65 |))) :- !|, intege|
|00000600| 72 28 4e 29 2c 20 4e 31 | 20 69 73 20 4e 20 2d 20 |r(N), N1| is N - |
|00000610| 31 2c 20 64 28 55 2c 58 | 2c 44 55 29 2e 0a 64 28 |1, d(U,X|,DU)..d(|
|00000620| 2d 55 2c 58 2c 2d 44 55 | 29 20 3a 2d 20 21 2c 20 |-U,X,-DU|) :- !, |
|00000630| 64 28 55 2c 58 2c 44 55 | 29 2e 0a 64 28 65 78 70 |d(U,X,DU|)..d(exp|
|00000640| 28 55 29 2c 58 2c 65 78 | 70 28 55 29 2a 44 55 29 |(U),X,ex|p(U)*DU)|
|00000650| 20 3a 2d 20 21 2c 20 64 | 28 55 2c 58 2c 44 55 29 | :- !, d|(U,X,DU)|
|00000660| 2e 0a 64 28 6c 6f 67 28 | 55 29 2c 58 2c 44 55 2f |..d(log(|U),X,DU/|
|00000670| 55 29 20 3a 2d 20 21 2c | 20 64 28 55 2c 58 2c 44 |U) :- !,| d(U,X,D|
|00000680| 55 29 2e 0a 64 28 58 2c | 58 2c 31 29 2e 0a 64 28 |U)..d(X,|X,1)..d(|
|00000690| 43 2c 58 2c 30 29 2e 0a | 0a 74 69 6d 65 73 31 30 |C,X,0)..|.times10|
|000006a0| 28 20 28 28 28 28 28 28 | 28 28 78 2a 78 29 2a 78 |( ((((((|((x*x)*x|
|000006b0| 29 2a 78 29 2a 78 29 2a | 78 29 2a 78 29 2a 78 29 |)*x)*x)*|x)*x)*x)|
|000006c0| 2a 78 29 2a 78 20 29 2e | 0a 64 69 76 69 64 65 31 |*x)*x ).|.divide1|
|000006d0| 30 28 20 28 28 28 28 28 | 28 28 28 78 2f 78 29 2f |0( (((((|(((x/x)/|
|000006e0| 78 29 2f 78 29 2f 78 29 | 2f 78 29 2f 78 29 2f 78 |x)/x)/x)|/x)/x)/x|
|000006f0| 29 2f 78 29 2f 78 20 29 | 2e 0a 6c 6f 67 31 30 28 |)/x)/x )|..log10(|
|00000700| 20 6c 6f 67 28 6c 6f 67 | 28 6c 6f 67 28 6c 6f 67 | log(log|(log(log|
|00000710| 28 6c 6f 67 28 6c 6f 67 | 28 6c 6f 67 28 6c 6f 67 |(log(log|(log(log|
|00000720| 28 6c 6f 67 28 6c 6f 67 | 28 78 29 29 29 29 29 29 |(log(log|(x))))))|
|00000730| 29 29 29 29 20 29 2e 0a | 6f 70 73 38 28 20 28 78 |)))) )..|ops8( (x|
|00000740| 2b 31 29 2a 28 28 5e 28 | 78 2c 32 29 2b 32 29 2a |+1)*((^(|x,2)+2)*|
|00000750| 28 5e 28 78 2c 33 29 2b | 33 29 29 20 29 2e 0a 0a |(^(x,3)+|3)) )...|
|00000760| 45 4f 46 2e 73 68 61 72 | 0a 65 63 68 6f 20 65 78 |EOF.shar|.echo ex|
|00000770| 74 72 61 63 74 69 6e 67 | 20 68 61 6e 6f 69 2e 70 |tracting| hanoi.p|
|00000780| 6c 0a 63 61 74 20 3e 20 | 68 61 6e 6f 69 2e 70 6c |l.cat > |hanoi.pl|
|00000790| 20 3c 3c 20 27 45 4f 46 | 2e 73 68 61 72 27 0a 25 | << 'EOF|.shar'.%|
|000007a0| 09 74 6f 77 65 72 73 20 | 6f 66 20 68 61 6e 6f 69 |.towers |of hanoi|
|000007b0| 20 28 20 68 61 6e 6f 69 | 20 29 20 66 6f 72 20 38 | ( hanoi| ) for 8|
|000007c0| 20 64 69 73 6b 73 0a 0a | 6d 61 69 6e 20 3a 2d 20 | disks..|main :- |
|000007d0| 68 61 6e 6f 69 28 38 29 | 2e 0a 0a 68 61 6e 6f 69 |hanoi(8)|...hanoi|
|000007e0| 28 4e 29 20 3a 2d 20 6d | 6f 76 65 28 4e 2c 6c 65 |(N) :- m|ove(N,le|
|000007f0| 66 74 2c 63 65 6e 74 65 | 72 2c 72 69 67 68 74 29 |ft,cente|r,right)|
|00000800| 2e 0a 0a 6d 6f 76 65 28 | 30 2c 5f 2c 5f 2c 5f 29 |...move(|0,_,_,_)|
|00000810| 20 3a 2d 20 21 2e 0a 6d | 6f 76 65 28 4e 2c 41 2c | :- !..m|ove(N,A,|
|00000820| 42 2c 43 29 20 3a 2d 20 | 4d 20 69 73 20 4e 2d 31 |B,C) :- |M is N-1|
|00000830| 2c 20 6d 6f 76 65 28 4d | 2c 41 2c 43 2c 42 29 2c |, move(M|,A,C,B),|
|00000840| 20 69 6e 66 6f 72 6d 28 | 41 2c 42 29 2c 20 6d 6f | inform(|A,B), mo|
|00000850| 76 65 28 4d 2c 43 2c 42 | 2c 41 29 2e 0a 0a 69 6e |ve(M,C,B|,A)...in|
|00000860| 66 6f 72 6d 28 41 2c 42 | 29 20 3a 2d 20 77 72 69 |form(A,B|) :- wri|
|00000870| 74 65 28 5b 6d 6f 76 65 | 2c 64 69 73 6b 2c 66 72 |te([move|,disk,fr|
|00000880| 6f 6d 2c 41 2c 74 6f 2c | 42 5d 29 2c 20 6e 6c 2c |om,A,to,|B]), nl,|
|00000890| 20 66 61 69 6c 2e 0a 69 | 6e 66 6f 72 6d 28 5f 2c | fail..i|nform(_,|
|000008a0| 5f 29 2e 0a 0a 45 4f 46 | 2e 73 68 61 72 0a 65 63 |_)...EOF|.shar.ec|
|000008b0| 68 6f 20 65 78 74 72 61 | 63 74 69 6e 67 20 6d 75 |ho extra|cting mu|
|000008c0| 6d 61 74 68 2e 70 6c 0a | 63 61 74 20 3e 20 6d 75 |math.pl.|cat > mu|
|000008d0| 6d 61 74 68 2e 70 6c 20 | 3c 3c 20 27 45 4f 46 2e |math.pl |<< 'EOF.|
|000008e0| 73 68 61 72 27 0a 0a 25 | 20 20 48 6f 66 73 74 61 |shar'..%| Hofsta|
|000008f0| 64 65 72 27 73 20 6d 75 | 20 6d 61 74 68 20 28 6d |der's mu| math (m|
|00000900| 75 74 65 73 74 29 20 70 | 72 6f 76 69 6e 67 20 6d |utest) p|roving m|
|00000910| 75 69 69 75 0a 25 09 66 | 72 6f 6d 20 47 6f 64 65 |uiiu.%.f|rom Gode|
|00000920| 6c 20 45 73 63 68 65 72 | 20 42 61 63 68 0a 0a 6d |l Escher| Bach..m|
|00000930| 61 69 6e 20 3a 2d 20 74 | 68 65 6f 72 65 6d 28 35 |ain :- t|heorem(5|
|00000940| 2c 5b 6d 2c 75 2c 69 2c | 69 2c 75 5d 29 2e 0a 0a |,[m,u,i,|i,u])...|
|00000950| 72 75 6c 65 73 28 53 2c | 20 52 29 20 3a 2d 20 72 |rules(S,| R) :- r|
|00000960| 75 6c 65 33 28 53 2c 52 | 29 2e 0a 72 75 6c 65 73 |ule3(S,R|)..rules|
|00000970| 28 53 2c 20 52 29 20 3a | 2d 20 72 75 6c 65 34 28 |(S, R) :|- rule4(|
|00000980| 53 2c 52 29 2e 0a 72 75 | 6c 65 73 28 53 2c 20 52 |S,R)..ru|les(S, R|
|00000990| 29 20 3a 2d 20 72 75 6c | 65 31 28 53 2c 52 29 2e |) :- rul|e1(S,R).|
|000009a0| 0a 72 75 6c 65 73 28 53 | 2c 20 52 29 20 3a 2d 20 |.rules(S|, R) :- |
|000009b0| 72 75 6c 65 32 28 53 2c | 52 29 2e 0a 0a 72 75 6c |rule2(S,|R)...rul|
|000009c0| 65 31 28 53 2c 52 29 20 | 3a 2d 0a 09 61 70 70 65 |e1(S,R) |:-..appe|
|000009d0| 6e 64 28 58 2c 20 5b 69 | 5d 2c 20 53 29 2c 0a 09 |nd(X, [i|], S),..|
|000009e0| 61 70 70 65 6e 64 28 58 | 2c 20 5b 69 2c 75 5d 2c |append(X|, [i,u],|
|000009f0| 20 52 29 2e 0a 0a 72 75 | 6c 65 32 28 5b 6d 20 7c | R)...ru|le2([m ||
|00000a00| 20 54 5d 2c 20 5b 6d 20 | 7c 20 52 5d 29 20 3a 2d | T], [m || R]) :-|
|00000a10| 20 61 70 70 65 6e 64 28 | 54 2c 20 54 2c 20 52 29 | append(|T, T, R)|
|00000a20| 2e 0a 0a 72 75 6c 65 33 | 28 5b 5d 2c 20 2d 29 20 |...rule3|([], -) |
|00000a30| 3a 2d 20 66 61 69 6c 2e | 0a 72 75 6c 65 33 28 52 |:- fail.|.rule3(R|
|00000a40| 2c 20 54 29 20 3a 2d 0a | 09 61 70 70 65 6e 64 28 |, T) :-.|.append(|
|00000a50| 5b 69 2c 69 2c 69 5d 2c | 20 53 2c 20 52 29 2c 0a |[i,i,i],| S, R),.|
|00000a60| 09 61 70 70 65 6e 64 28 | 5b 75 5d 2c 20 53 2c 20 |.append(|[u], S, |
|00000a70| 54 29 2e 0a 72 75 6c 65 | 33 28 5b 48 20 7c 20 54 |T)..rule|3([H | T|
|00000a80| 5d 2c 20 5b 48 20 7c 20 | 52 5d 29 20 3a 2d 20 72 |], [H | |R]) :- r|
|00000a90| 75 6c 65 33 28 54 2c 20 | 52 29 2e 0a 0a 72 75 6c |ule3(T, |R)...rul|
|00000aa0| 65 34 28 5b 5d 2c 20 2d | 29 20 3a 2d 20 66 61 69 |e4([], -|) :- fai|
|00000ab0| 6c 2e 0a 72 75 6c 65 34 | 28 52 2c 20 54 29 20 3a |l..rule4|(R, T) :|
|00000ac0| 2d 20 61 70 70 65 6e 64 | 28 5b 75 2c 20 75 5d 2c |- append|([u, u],|
|00000ad0| 20 54 2c 20 52 29 2e 0a | 72 75 6c 65 34 28 5b 48 | T, R)..|rule4([H|
|00000ae0| 20 7c 20 54 5d 2c 20 5b | 48 20 7c 20 52 5d 29 20 | | T], [|H | R]) |
|00000af0| 3a 2d 20 72 75 6c 65 34 | 28 54 2c 20 52 29 2e 0a |:- rule4|(T, R)..|
|00000b00| 0a 74 68 65 6f 72 65 6d | 28 44 65 70 74 68 2c 20 |.theorem|(Depth, |
|00000b10| 5b 6d 2c 20 69 5d 29 2e | 0a 74 68 65 6f 72 65 6d |[m, i]).|.theorem|
|00000b20| 28 44 65 70 74 68 2c 20 | 5b 5d 29 20 3a 2d 20 66 |(Depth, |[]) :- f|
|00000b30| 61 69 6c 2e 0a 0a 74 68 | 65 6f 72 65 6d 28 44 65 |ail...th|eorem(De|
|00000b40| 70 74 68 2c 20 52 29 20 | 3a 2d 0a 09 44 65 70 74 |pth, R) |:-..Dept|
|00000b50| 68 20 3e 20 30 2c 0a 09 | 44 20 69 73 20 44 65 70 |h > 0,..|D is Dep|
|00000b60| 74 68 20 2d 20 31 2c 0a | 09 74 68 65 6f 72 65 6d |th - 1,.|.theorem|
|00000b70| 28 44 2c 20 53 29 2c 0a | 09 72 75 6c 65 73 28 53 |(D, S),.|.rules(S|
|00000b80| 2c 20 52 29 2e 0a 0a 61 | 70 70 65 6e 64 28 5b 5d |, R)...a|ppend([]|
|00000b90| 2c 20 58 2c 20 58 29 2e | 0a 61 70 70 65 6e 64 28 |, X, X).|.append(|
|00000ba0| 5b 41 20 7c 20 42 5d 2c | 20 58 2c 20 5b 41 20 7c |[A | B],| X, [A ||
|00000bb0| 20 42 31 5d 29 20 3a 2d | 0a 09 21 2c 0a 09 61 70 | B1]) :-|..!,..ap|
|00000bc0| 70 65 6e 64 28 42 2c 20 | 58 2c 20 42 31 29 2e 0a |pend(B, |X, B1)..|
|00000bd0| 0a 45 4f 46 2e 73 68 61 | 72 0a 65 63 68 6f 20 65 |.EOF.sha|r.echo e|
|00000be0| 78 74 72 61 63 74 69 6e | 67 20 6e 72 65 76 31 2e |xtractin|g nrev1.|
|00000bf0| 70 6c 0a 63 61 74 20 3e | 20 6e 72 65 76 31 2e 70 |pl.cat >| nrev1.p|
|00000c00| 6c 20 3c 3c 20 27 45 4f | 46 2e 73 68 61 72 27 0a |l << 'EO|F.shar'.|
|00000c10| 25 09 6e 61 69 76 65 20 | 72 65 76 65 72 73 65 20 |%.naive |reverse |
|00000c20| 28 6e 72 65 76 31 29 0a | 25 09 66 72 6f 6d 20 57 |(nrev1).|%.from W|
|00000c30| 61 72 72 65 6e 27 73 20 | 74 68 65 73 69 73 0a 0a |arren's |thesis..|
|00000c40| 6d 61 69 6e 20 3a 2d 0a | 09 6c 69 73 74 33 30 28 |main :-.|.list30(|
|00000c50| 4c 29 2c 0a 09 6e 72 65 | 76 65 72 73 65 28 4c 2c |L),..nre|verse(L,|
|00000c60| 58 29 2c 0a 09 77 72 69 | 74 65 28 58 29 2c 20 6e |X),..wri|te(X), n|
|00000c70| 6c 2e 0a 0a 6e 72 65 76 | 65 72 73 65 28 5b 58 7c |l...nrev|erse([X||
|00000c80| 4c 30 5d 2c 4c 29 20 3a | 2d 20 6e 72 65 76 65 72 |L0],L) :|- nrever|
|00000c90| 73 65 28 4c 30 2c 4c 31 | 29 2c 20 63 6f 6e 63 61 |se(L0,L1|), conca|
|00000ca0| 74 65 6e 61 74 65 28 4c | 31 2c 5b 58 5d 2c 4c 29 |tenate(L|1,[X],L)|
|00000cb0| 2e 0a 6e 72 65 76 65 72 | 73 65 28 5b 5d 2c 5b 5d |..nrever|se([],[]|
|00000cc0| 29 2e 0a 0a 63 6f 6e 63 | 61 74 65 6e 61 74 65 28 |)...conc|atenate(|
|00000cd0| 5b 58 7c 4c 31 5d 2c 4c | 32 2c 5b 58 7c 4c 33 5d |[X|L1],L|2,[X|L3]|
|00000ce0| 29 20 3a 2d 20 63 6f 6e | 63 61 74 65 6e 61 74 65 |) :- con|catenate|
|00000cf0| 28 4c 31 2c 4c 32 2c 4c | 33 29 2e 0a 63 6f 6e 63 |(L1,L2,L|3)..conc|
|00000d00| 61 74 65 6e 61 74 65 28 | 5b 5d 2c 4c 2c 4c 29 2e |atenate(|[],L,L).|
|00000d10| 0a 0a 6c 69 73 74 33 30 | 28 5b 31 2c 32 2c 33 2c |..list30|([1,2,3,|
|00000d20| 34 2c 35 2c 36 2c 37 2c | 38 2c 39 2c 31 30 2c 31 |4,5,6,7,|8,9,10,1|
|00000d30| 31 2c 31 32 2c 0a 09 31 | 33 2c 31 34 2c 31 35 2c |1,12,..1|3,14,15,|
|00000d40| 31 36 2c 31 37 2c 31 38 | 2c 31 39 2c 32 30 2c 32 |16,17,18|,19,20,2|
|00000d50| 31 2c 0a 09 32 32 2c 32 | 33 2c 32 34 2c 32 35 2c |1,..22,2|3,24,25,|
|00000d60| 32 36 2c 32 37 2c 32 38 | 2c 32 39 2c 33 30 5d 29 |26,27,28|,29,30])|
|00000d70| 2e 0a 0a 45 4f 46 2e 73 | 68 61 72 0a 65 63 68 6f |...EOF.s|har.echo|
|00000d80| 20 65 78 74 72 61 63 74 | 69 6e 67 20 70 61 6c 69 | extract|ing pali|
|00000d90| 6e 32 35 2e 70 6c 0a 63 | 61 74 20 3e 20 70 61 6c |n25.pl.c|at > pal|
|00000da0| 69 6e 32 35 2e 70 6c 20 | 3c 3c 20 27 45 4f 46 2e |in25.pl |<< 'EOF.|
|00000db0| 73 68 61 72 27 0a 25 09 | 73 65 72 69 61 6c 69 7a |shar'.%.|serializ|
|00000dc0| 65 20 28 70 61 6c 69 6e | 32 35 29 0a 25 09 66 72 |e (palin|25).%.fr|
|00000dd0| 6f 6d 20 57 61 72 72 65 | 6e 27 73 20 74 68 65 73 |om Warre|n's thes|
|00000de0| 69 73 0a 0a 6d 61 69 6e | 20 3a 2d 0a 09 70 61 6c |is..main| :-..pal|
|00000df0| 69 6e 32 35 28 50 29 2c | 0a 09 73 65 72 69 61 6c |in25(P),|..serial|
|00000e00| 69 7a 65 28 50 2c 58 29 | 2c 0a 09 77 72 69 74 65 |ize(P,X)|,..write|
|00000e10| 28 58 29 2c 6e 6c 2e 0a | 0a 73 65 72 69 61 6c 69 |(X),nl..|.seriali|
|00000e20| 7a 65 28 4c 2c 52 29 20 | 3a 2d 0a 09 70 61 69 72 |ze(L,R) |:-..pair|
|00000e30| 6c 69 73 74 73 28 4c 2c | 52 2c 41 29 2c 0a 09 61 |lists(L,|R,A),..a|
|00000e40| 72 72 61 6e 67 65 28 41 | 2c 54 29 2c 0a 09 6e 75 |rrange(A|,T),..nu|
|00000e50| 6d 62 65 72 65 64 28 54 | 2c 31 2c 4e 29 2e 0a 0a |mbered(T|,1,N)...|
|00000e60| 70 61 69 72 6c 69 73 74 | 73 28 5b 58 7c 4c 5d 2c |pairlist|s([X|L],|
|00000e70| 20 5b 59 7c 52 5d 2c 20 | 5b 70 61 69 72 28 58 2c | [Y|R], |[pair(X,|
|00000e80| 59 29 7c 41 5d 29 20 3a | 2d 20 70 61 69 72 6c 69 |Y)|A]) :|- pairli|
|00000e90| 73 74 73 28 4c 2c 52 2c | 41 29 2e 0a 70 61 69 72 |sts(L,R,|A)..pair|
|00000ea0| 6c 69 73 74 73 28 5b 5d | 2c 20 5b 5d 2c 20 5b 5d |lists([]|, [], []|
|00000eb0| 29 2e 0a 0a 61 72 72 61 | 6e 67 65 28 5b 58 7c 4c |)...arra|nge([X|L|
|00000ec0| 5d 2c 20 74 72 65 65 28 | 54 31 2c 20 58 2c 20 54 |], tree(|T1, X, T|
|00000ed0| 32 29 29 20 3a 2d 0a 09 | 73 70 6c 69 74 28 4c 2c |2)) :-..|split(L,|
|00000ee0| 20 58 2c 20 4c 31 2c 20 | 4c 32 29 2c 0a 09 61 72 | X, L1, |L2),..ar|
|00000ef0| 72 61 6e 67 65 28 4c 31 | 2c 20 54 31 29 2c 0a 09 |range(L1|, T1),..|
|00000f00| 61 72 72 61 6e 67 65 28 | 4c 32 2c 20 54 32 29 2e |arrange(|L2, T2).|
|00000f10| 0a 61 72 72 61 6e 67 65 | 28 5b 5d 2c 20 76 6f 69 |.arrange|([], voi|
|00000f20| 64 29 2e 0a 0a 73 70 6c | 69 74 28 5b 58 7c 4c 5d |d)...spl|it([X|L]|
|00000f30| 2c 20 58 2c 20 4c 31 2c | 20 4c 32 29 20 3a 2d 20 |, X, L1,| L2) :- |
|00000f40| 21 2c 20 73 70 6c 69 74 | 28 4c 2c 20 58 2c 20 4c |!, split|(L, X, L|
|00000f50| 31 2c 20 4c 32 29 2e 0a | 73 70 6c 69 74 28 5b 58 |1, L2)..|split([X|
|00000f60| 7c 4c 5d 2c 20 59 2c 20 | 5b 58 7c 4c 31 5d 2c 20 ||L], Y, |[X|L1], |
|00000f70| 4c 32 29 20 3a 2d 20 62 | 65 66 6f 72 65 28 58 2c |L2) :- b|efore(X,|
|00000f80| 59 29 2c 20 21 2c 20 73 | 70 6c 69 74 28 4c 2c 59 |Y), !, s|plit(L,Y|
|00000f90| 2c 4c 31 2c 4c 32 29 2e | 0a 73 70 6c 69 74 28 5b |,L1,L2).|.split([|
|00000fa0| 58 7c 4c 5d 2c 20 59 2c | 20 4c 31 2c 20 5b 58 7c |X|L], Y,| L1, [X||
|00000fb0| 4c 32 5d 29 20 3a 2d 20 | 62 65 66 6f 72 65 28 59 |L2]) :- |before(Y|
|00000fc0| 2c 58 29 2c 20 21 2c 20 | 73 70 6c 69 74 28 4c 2c |,X), !, |split(L,|
|00000fd0| 59 2c 4c 31 2c 4c 32 29 | 2e 0a 73 70 6c 69 74 28 |Y,L1,L2)|..split(|
|00000fe0| 5b 5d 2c 20 5f 2c 20 5b | 5d 2c 20 5b 5d 29 2e 0a |[], _, [|], [])..|
|00000ff0| 0a 62 65 66 6f 72 65 28 | 70 61 69 72 28 58 31 2c |.before(|pair(X1,|
|00001000| 59 31 29 2c 20 70 61 69 | 72 28 58 32 2c 59 32 29 |Y1), pai|r(X2,Y2)|
|00001010| 29 20 3a 2d 20 58 31 20 | 3c 20 58 32 2e 0a 0a 6e |) :- X1 |< X2...n|
|00001020| 75 6d 62 65 72 65 64 28 | 74 72 65 65 28 54 31 2c |umbered(|tree(T1,|
|00001030| 20 70 61 69 72 28 58 2c | 4e 31 29 2c 20 54 32 29 | pair(X,|N1), T2)|
|00001040| 2c 20 4e 30 2c 20 4e 29 | 20 3a 2d 0a 09 6e 75 6d |, N0, N)| :-..num|
|00001050| 62 65 72 65 64 28 54 31 | 2c 20 4e 30 2c 20 4e 31 |bered(T1|, N0, N1|
|00001060| 29 2c 0a 09 4e 32 20 69 | 73 20 4e 31 20 2b 20 31 |),..N2 i|s N1 + 1|
|00001070| 2c 0a 09 6e 75 6d 62 65 | 72 65 64 28 54 32 2c 4e |,..numbe|red(T2,N|
|00001080| 32 2c 4e 29 2e 0a 6e 75 | 6d 62 65 72 65 64 28 5f |2,N)..nu|mbered(_|
|00001090| 2c 4e 2c 4e 29 2e 0a 0a | 70 61 6c 69 6e 32 35 28 |,N,N)...|palin25(|
|000010a0| 22 41 42 4c 45 20 57 41 | 53 20 49 20 45 52 45 20 |"ABLE WA|S I ERE |
|000010b0| 49 20 53 41 57 20 45 4c | 42 41 22 29 2e 0a 0a 45 |I SAW EL|BA")...E|
|000010c0| 4f 46 2e 73 68 61 72 0a | 65 63 68 6f 20 65 78 74 |OF.shar.|echo ext|
|000010d0| 72 61 63 74 69 6e 67 20 | 70 72 69 32 2e 70 6c 0a |racting |pri2.pl.|
|000010e0| 63 61 74 20 3e 20 70 72 | 69 32 2e 70 6c 20 3c 3c |cat > pr|i2.pl <<|
|000010f0| 20 27 45 4f 46 2e 73 68 | 61 72 27 0a 25 20 54 68 | 'EOF.sh|ar'.% Th|
|00001100| 65 20 73 69 65 76 65 20 | 6f 66 20 45 72 61 74 6f |e sieve |of Erato|
|00001110| 73 74 68 65 6e 65 73 2c | 20 66 72 6f 6d 20 43 6c |sthenes,| from Cl|
|00001120| 6f 63 6b 73 69 6e 20 26 | 20 4d 65 6c 6c 69 73 68 |ocksin &| Mellish|
|00001130| 20 28 70 72 69 32 29 0a | 25 09 66 69 6e 64 69 6e | (pri2).|%.findin|
|00001140| 67 20 74 68 65 20 70 72 | 69 6d 65 20 6e 75 6d 62 |g the pr|ime numb|
|00001150| 65 72 73 20 75 70 20 74 | 6f 20 39 38 2e 09 0a 0a |ers up t|o 98....|
|00001160| 6d 61 69 6e 20 3a 2d 20 | 70 72 69 6d 65 73 28 39 |main :- |primes(9|
|00001170| 38 2c 20 58 29 2c 20 77 | 72 69 74 65 28 58 29 2c |8, X), w|rite(X),|
|00001180| 20 6e 6c 2e 0a 0a 70 72 | 69 6d 65 73 28 4c 69 6d | nl...pr|imes(Lim|
|00001190| 69 74 2c 20 50 73 29 20 | 3a 2d 20 69 6e 74 65 67 |it, Ps) |:- integ|
|000011a0| 65 72 73 28 32 2c 20 4c | 69 6d 69 74 2c 20 49 73 |ers(2, L|imit, Is|
|000011b0| 29 2c 20 73 69 66 74 28 | 49 73 2c 20 50 73 29 2e |), sift(|Is, Ps).|
|000011c0| 0a 0a 69 6e 74 65 67 65 | 72 73 28 4c 6f 77 2c 20 |..intege|rs(Low, |
|000011d0| 48 69 67 68 2c 20 5b 4c | 6f 77 20 7c 20 52 65 73 |High, [L|ow | Res|
|000011e0| 74 5d 29 20 3a 2d 20 0a | 09 4c 6f 77 20 3d 3c 20 |t]) :- .|.Low =< |
|000011f0| 48 69 67 68 2c 20 21 2c | 0a 09 4d 20 69 73 20 4c |High, !,|..M is L|
|00001200| 6f 77 2b 31 2c 0a 09 69 | 6e 74 65 67 65 72 73 28 |ow+1,..i|ntegers(|
|00001210| 4d 2c 20 48 69 67 68 2c | 20 52 65 73 74 29 2e 0a |M, High,| Rest)..|
|00001220| 69 6e 74 65 67 65 72 73 | 28 5f 2c 5f 2c 5b 5d 29 |integers|(_,_,[])|
|00001230| 2e 0a 0a 73 69 66 74 28 | 5b 5d 2c 5b 5d 29 2e 0a |...sift(|[],[])..|
|00001240| 73 69 66 74 28 5b 49 20 | 7c 20 49 73 5d 2c 20 5b |sift([I || Is], [|
|00001250| 49 20 7c 20 50 73 5d 29 | 20 3a 2d 20 72 65 6d 6f |I | Ps])| :- remo|
|00001260| 76 65 28 49 2c 49 73 2c | 4e 65 77 29 2c 20 73 69 |ve(I,Is,|New), si|
|00001270| 66 74 28 4e 65 77 2c 20 | 50 73 29 2e 0a 0a 72 65 |ft(New, |Ps)...re|
|00001280| 6d 6f 76 65 28 50 2c 5b | 5d 2c 5b 5d 29 2e 0a 72 |move(P,[|],[])..r|
|00001290| 65 6d 6f 76 65 28 50 2c | 5b 49 20 7c 20 49 73 5d |emove(P,|[I | Is]|
|000012a0| 2c 20 4e 69 73 29 20 3a | 2d 20 30 20 69 73 20 49 |, Nis) :|- 0 is I|
|000012b0| 20 6d 6f 64 20 50 2c 20 | 21 2c 20 72 65 6d 6f 76 | mod P, |!, remov|
|000012c0| 65 28 50 2c 49 73 2c 4e | 69 73 29 2e 0a 72 65 6d |e(P,Is,N|is)..rem|
|000012d0| 6f 76 65 28 50 2c 5b 49 | 20 7c 20 49 73 5d 2c 20 |ove(P,[I| | Is], |
|000012e0| 5b 49 20 7c 20 4e 69 73 | 5d 29 20 3a 2d 20 6e 6f |[I | Nis|]) :- no|
|000012f0| 74 28 30 20 69 73 20 49 | 20 6d 6f 64 20 50 29 2c |t(0 is I| mod P),|
|00001300| 20 21 2c 20 72 65 6d 6f | 76 65 28 50 2c 49 73 2c | !, remo|ve(P,Is,|
|00001310| 4e 69 73 29 2e 0a 0a 0a | 0a 45 4f 46 2e 73 68 61 |Nis)....|.EOF.sha|
|00001320| 72 0a 65 63 68 6f 20 65 | 78 74 72 61 63 74 69 6e |r.echo e|xtractin|
|00001330| 67 20 71 73 34 2e 70 6c | 0a 63 61 74 20 3e 20 71 |g qs4.pl|.cat > q|
|00001340| 73 34 2e 70 6c 20 3c 3c | 20 27 45 4f 46 2e 73 68 |s4.pl <<| 'EOF.sh|
|00001350| 61 72 27 0a 25 09 71 75 | 69 63 6b 73 6f 72 74 20 |ar'.%.qu|icksort |
|00001360| 28 71 73 34 29 20 6f 6e | 20 35 30 20 69 74 65 6d |(qs4) on| 50 item|
|00001370| 73 0a 25 09 66 72 6f 6d | 20 57 61 72 72 65 6e 27 |s.%.from| Warren'|
|00001380| 73 20 74 68 65 73 69 73 | 0a 0a 6d 61 69 6e 20 3a |s thesis|..main :|
|00001390| 2d 0a 09 6c 69 73 74 35 | 30 28 4c 29 2c 0a 09 71 |-..list5|0(L),..q|
|000013a0| 73 6f 72 74 28 4c 2c 58 | 2c 5b 5d 29 2c 0a 09 77 |sort(L,X|,[]),..w|
|000013b0| 72 69 74 65 28 58 29 2c | 20 6e 6c 2e 0a 0a 71 73 |rite(X),| nl...qs|
|000013c0| 6f 72 74 28 5b 58 7c 4c | 5d 2c 52 2c 52 30 29 20 |ort([X|L|],R,R0) |
|000013d0| 3a 2d 0a 09 70 61 72 74 | 69 74 69 6f 6e 28 4c 2c |:-..part|ition(L,|
|000013e0| 58 2c 4c 31 2c 4c 32 29 | 2c 0a 09 71 73 6f 72 74 |X,L1,L2)|,..qsort|
|000013f0| 28 4c 32 2c 52 31 2c 52 | 30 29 2c 0a 09 71 73 6f |(L2,R1,R|0),..qso|
|00001400| 72 74 28 4c 31 2c 52 2c | 5b 58 7c 52 31 5d 29 2e |rt(L1,R,|[X|R1]).|
|00001410| 0a 71 73 6f 72 74 28 5b | 5d 2c 52 2c 52 29 2e 0a |.qsort([|],R,R)..|
|00001420| 0a 70 61 72 74 69 74 69 | 6f 6e 28 5b 58 7c 4c 5d |.partiti|on([X|L]|
|00001430| 2c 59 2c 5b 58 7c 4c 31 | 5d 2c 4c 32 29 20 3a 2d |,Y,[X|L1|],L2) :-|
|00001440| 0a 09 58 3c 59 2c 20 21 | 2c 0a 09 70 61 72 74 69 |..X<Y, !|,..parti|
|00001450| 74 69 6f 6e 28 4c 2c 59 | 2c 4c 31 2c 4c 32 29 2e |tion(L,Y|,L1,L2).|
|00001460| 0a 70 61 72 74 69 74 69 | 6f 6e 28 5b 58 7c 4c 5d |.partiti|on([X|L]|
|00001470| 2c 59 2c 4c 31 2c 5b 58 | 7c 4c 32 5d 29 20 3a 2d |,Y,L1,[X||L2]) :-|
|00001480| 0a 09 70 61 72 74 69 74 | 69 6f 6e 28 4c 2c 59 2c |..partit|ion(L,Y,|
|00001490| 4c 31 2c 4c 32 29 2e 0a | 70 61 72 74 69 74 69 6f |L1,L2)..|partitio|
|000014a0| 6e 28 5b 5d 2c 5f 2c 5b | 5d 2c 5b 5d 29 2e 0a 0a |n([],_,[|],[])...|
|000014b0| 6c 69 73 74 35 30 28 5b | 32 37 2c 37 34 2c 31 37 |list50([|27,74,17|
|000014c0| 2c 33 33 2c 39 34 2c 31 | 38 2c 34 36 2c 38 33 2c |,33,94,1|8,46,83,|
|000014d0| 36 35 2c 32 2c 0a 09 33 | 32 2c 35 33 2c 32 38 2c |65,2,..3|2,53,28,|
|000014e0| 38 35 2c 39 39 2c 34 37 | 2c 32 38 2c 38 32 2c 36 |85,99,47|,28,82,6|
|000014f0| 2c 31 31 2c 0a 09 35 35 | 2c 32 39 2c 33 39 2c 38 |,11,..55|,29,39,8|
|00001500| 31 2c 39 30 2c 33 37 2c | 31 30 2c 30 2c 36 36 2c |1,90,37,|10,0,66,|
|00001510| 35 31 2c 0a 09 37 2c 32 | 31 2c 38 35 2c 32 37 2c |51,..7,2|1,85,27,|
|00001520| 33 31 2c 36 33 2c 37 35 | 2c 34 2c 39 35 2c 39 39 |31,63,75|,4,95,99|
|00001530| 2c 0a 09 31 31 2c 32 38 | 2c 36 31 2c 37 34 2c 31 |,..11,28|,61,74,1|
|00001540| 38 2c 39 32 2c 34 30 2c | 35 33 2c 35 39 2c 38 5d |8,92,40,|53,59,8]|
|00001550| 29 2e 0a 0a 45 4f 46 2e | 73 68 61 72 0a 65 63 68 |)...EOF.|shar.ech|
|00001560| 6f 20 65 78 74 72 61 63 | 74 69 6e 67 20 71 75 65 |o extrac|ting que|
|00001570| 65 6e 73 2e 70 6c 0a 63 | 61 74 20 3e 20 71 75 65 |ens.pl.c|at > que|
|00001580| 65 6e 73 2e 70 6c 20 3c | 3c 20 27 45 4f 46 2e 73 |ens.pl <|< 'EOF.s|
|00001590| 68 61 72 27 0a 25 09 74 | 68 65 20 71 75 65 65 6e |har'.%.t|he queen|
|000015a0| 73 20 6f 6e 20 61 20 63 | 68 65 73 73 62 6f 61 72 |s on a c|hessboar|
|000015b0| 64 20 70 72 6f 62 6c 65 | 6d 20 28 71 75 65 65 6e |d proble|m (queen|
|000015c0| 73 29 20 66 6f 72 20 34 | 78 34 20 62 6f 61 72 64 |s) for 4|x4 board|
|000015d0| 0a 0a 6d 61 69 6e 20 3a | 2d 20 20 72 75 6e 28 34 |..main :|- run(4|
|000015e0| 2c 58 29 2c 20 66 61 69 | 6c 2e 0a 0a 73 69 7a 65 |,X), fai|l...size|
|000015f0| 28 34 29 2e 0a 69 6e 74 | 28 31 29 2e 0a 69 6e 74 |(4)..int|(1)..int|
|00001600| 28 32 29 2e 0a 69 6e 74 | 28 33 29 2e 0a 69 6e 74 |(2)..int|(3)..int|
|00001610| 28 34 29 2e 0a 0a 72 75 | 6e 28 53 69 7a 65 2c 20 |(4)...ru|n(Size, |
|00001620| 53 6f 6c 6e 29 20 3a 2d | 20 67 65 74 5f 73 6f 6c |Soln) :-| get_sol|
|00001630| 75 74 69 6f 6e 73 28 53 | 69 7a 65 2c 20 53 6f 6c |utions(S|ize, Sol|
|00001640| 6e 29 2c 20 69 6e 66 6f | 72 6d 28 53 6f 6c 6e 29 |n), info|rm(Soln)|
|00001650| 2e 0a 0a 67 65 74 5f 73 | 6f 6c 75 74 69 6f 6e 73 |...get_s|olutions|
|00001660| 28 42 6f 61 72 64 5f 73 | 69 7a 65 2c 20 53 6f 6c |(Board_s|ize, Sol|
|00001670| 6e 29 20 3a 2d 20 73 6f | 6c 76 65 28 42 6f 61 72 |n) :- so|lve(Boar|
|00001680| 64 5f 73 69 7a 65 2c 20 | 5b 5d 2c 20 53 6f 6c 6e |d_size, |[], Soln|
|00001690| 29 2e 0a 0a 25 09 6e 65 | 77 73 71 75 61 72 65 20 |)...%.ne|wsquare |
|000016a0| 67 65 6e 65 72 61 74 65 | 73 20 6c 65 67 61 6c 20 |generate|s legal |
|000016b0| 70 6f 73 69 74 69 6f 6e | 73 20 66 6f 72 20 6e 65 |position|s for ne|
|000016c0| 78 74 20 71 75 65 65 6e | 0a 0a 6e 65 77 73 71 75 |xt queen|..newsqu|
|000016d0| 61 72 65 28 5b 5d 2c 20 | 73 71 75 61 72 65 28 31 |are([], |square(1|
|000016e0| 2c 20 58 29 29 20 3a 2d | 20 69 6e 74 28 58 29 2e |, X)) :-| int(X).|
|000016f0| 0a 6e 65 77 73 71 75 61 | 72 65 28 5b 73 71 75 61 |.newsqua|re([squa|
|00001700| 72 65 28 49 2c 20 4a 29 | 20 7c 20 52 65 73 74 5d |re(I, J)| | Rest]|
|00001710| 2c 20 73 71 75 61 72 65 | 28 58 2c 20 59 29 29 20 |, square|(X, Y)) |
|00001720| 3a 2d 0a 09 58 20 69 73 | 20 49 20 2b 20 31 2c 0a |:-..X is| I + 1,.|
|00001730| 09 69 6e 74 28 59 29 2c | 0a 09 6e 6f 74 28 74 68 |.int(Y),|..not(th|
|00001740| 72 65 61 74 65 6e 65 64 | 28 49 2c 20 4a 2c 20 58 |reatened|(I, J, X|
|00001750| 2c 20 59 29 29 2c 0a 09 | 73 61 66 65 28 58 2c 20 |, Y)),..|safe(X, |
|00001760| 59 2c 20 52 65 73 74 29 | 2e 0a 0a 0a 25 09 73 61 |Y, Rest)|....%.sa|
|00001770| 66 65 20 63 68 65 63 6b | 73 20 77 68 65 74 68 65 |fe check|s whethe|
|00001780| 72 20 73 71 75 61 72 65 | 28 58 2c 20 59 29 20 69 |r square|(X, Y) i|
|00001790| 73 20 74 68 72 65 61 74 | 65 6e 65 64 20 62 79 20 |s threat|ened by |
|000017a0| 61 6e 79 0a 25 09 65 78 | 69 73 74 69 6e 67 20 71 |any.%.ex|isting q|
|000017b0| 75 65 65 6e 73 0a 0a 73 | 61 66 65 28 58 2c 20 59 |ueens..s|afe(X, Y|
|000017c0| 2c 20 5b 5d 29 2e 0a 73 | 61 66 65 28 58 2c 20 59 |, [])..s|afe(X, Y|
|000017d0| 2c 20 5b 73 71 75 61 72 | 65 28 49 2c 20 4a 29 20 |, [squar|e(I, J) |
|000017e0| 7c 20 4c 5d 29 20 3a 2d | 0a 09 6e 6f 74 28 74 68 || L]) :-|..not(th|
|000017f0| 72 65 61 74 65 6e 65 64 | 28 49 2c 20 4a 2c 20 58 |reatened|(I, J, X|
|00001800| 2c 20 59 29 29 2c 0a 09 | 73 61 66 65 28 58 2c 20 |, Y)),..|safe(X, |
|00001810| 59 2c 20 4c 29 2e 0a 0a | 0a 25 09 74 68 72 65 61 |Y, L)...|.%.threa|
|00001820| 74 65 6e 65 64 20 63 68 | 65 63 6b 73 20 77 68 65 |tened ch|ecks whe|
|00001830| 74 68 65 72 20 73 71 75 | 61 72 65 73 20 28 49 2c |ther squ|ares (I,|
|00001840| 20 4a 29 20 61 6e 64 20 | 28 58 2c 20 59 29 0a 25 | J) and |(X, Y).%|
|00001850| 09 74 68 72 65 61 74 65 | 6e 20 65 61 63 68 20 6f |.threate|n each o|
|00001860| 74 68 65 72 0a 0a 74 68 | 72 65 61 74 65 6e 65 64 |ther..th|reatened|
|00001870| 28 49 2c 20 4a 2c 20 58 | 2c 20 59 29 20 3a 2d 0a |(I, J, X|, Y) :-.|
|00001880| 09 28 49 20 3d 20 58 29 | 2c 0a 09 21 2e 0a 74 68 |.(I = X)|,..!..th|
|00001890| 72 65 61 74 65 6e 65 64 | 28 49 2c 20 4a 2c 20 58 |reatened|(I, J, X|
|000018a0| 2c 20 59 29 20 3a 2d 0a | 09 28 4a 20 3d 20 59 29 |, Y) :-.|.(J = Y)|
|000018b0| 2c 0a 09 21 2e 0a 74 68 | 72 65 61 74 65 6e 65 64 |,..!..th|reatened|
|000018c0| 28 49 2c 20 4a 2c 20 58 | 2c 20 59 29 20 3a 2d 0a |(I, J, X|, Y) :-.|
|000018d0| 09 28 55 20 69 73 20 49 | 20 2d 20 4a 29 2c 0a 09 |.(U is I| - J),..|
|000018e0| 28 56 20 69 73 20 58 20 | 2d 20 59 29 2c 0a 09 28 |(V is X |- Y),..(|
|000018f0| 55 20 3d 20 56 29 2c 0a | 09 21 2e 0a 74 68 72 65 |U = V),.|.!..thre|
|00001900| 61 74 65 6e 65 64 28 49 | 2c 20 4a 2c 20 58 2c 20 |atened(I|, J, X, |
|00001910| 59 29 20 3a 2d 0a 09 28 | 55 20 69 73 20 49 20 2b |Y) :-..(|U is I +|
|00001920| 20 4a 29 2c 0a 09 28 56 | 20 69 73 20 58 20 2b 20 | J),..(V| is X + |
|00001930| 59 29 2c 0a 09 28 55 20 | 3d 20 56 29 2c 0a 09 21 |Y),..(U |= V),..!|
|00001940| 2e 0a 0a 0a 25 09 73 6f | 6c 76 65 20 61 63 63 75 |....%.so|lve accu|
|00001950| 6d 75 6c 61 74 65 73 20 | 74 68 65 20 70 6f 73 69 |mulates |the posi|
|00001960| 74 69 6f 6e 73 20 6f 66 | 20 6f 63 63 75 70 69 65 |tions of| occupie|
|00001970| 64 20 73 71 75 61 72 65 | 73 0a 0a 73 6f 6c 76 65 |d square|s..solve|
|00001980| 28 42 73 2c 20 5b 73 71 | 75 61 72 65 28 42 73 2c |(Bs, [sq|uare(Bs,|
|00001990| 20 59 29 20 7c 20 4c 5d | 2c 20 5b 73 71 75 61 72 | Y) | L]|, [squar|
|000019a0| 65 28 42 73 2c 20 59 29 | 20 7c 20 4c 5d 29 20 3a |e(Bs, Y)| | L]) :|
|000019b0| 2d 20 73 69 7a 65 28 42 | 73 29 2e 0a 73 6f 6c 76 |- size(B|s)..solv|
|000019c0| 65 28 42 6f 61 72 64 5f | 73 69 7a 65 2c 20 49 6e |e(Board_|size, In|
|000019d0| 69 74 69 61 6c 2c 20 46 | 69 6e 61 6c 29 20 3a 2d |itial, F|inal) :-|
|000019e0| 0a 09 6e 65 77 73 71 75 | 61 72 65 28 49 6e 69 74 |..newsqu|are(Init|
|000019f0| 69 61 6c 2c 20 4e 65 78 | 74 29 2c 0a 09 73 6f 6c |ial, Nex|t),..sol|
|00001a00| 76 65 28 42 6f 61 72 64 | 5f 73 69 7a 65 2c 20 5b |ve(Board|_size, [|
|00001a10| 4e 65 78 74 20 7c 20 49 | 6e 69 74 69 61 6c 5d 2c |Next | I|nitial],|
|00001a20| 20 46 69 6e 61 6c 29 2e | 0a 0a 69 6e 66 6f 72 6d | Final).|..inform|
|00001a30| 28 5b 5d 29 20 3a 2d 20 | 6e 6c 2c 6e 6c 2e 0a 69 |([]) :- |nl,nl..i|
|00001a40| 6e 66 6f 72 6d 28 5b 4d | 20 7c 20 4c 5d 29 20 3a |nform([M| | L]) :|
|00001a50| 2d 20 77 72 69 74 65 28 | 4d 29 2c 20 6e 6c 2c 20 |- write(|M), nl, |
|00001a60| 69 6e 66 6f 72 6d 28 4c | 29 2e 0a 0a 25 70 72 6f |inform(L|)...%pro|
|00001a70| 63 65 64 75 72 65 20 6e | 6f 74 0a 25 0a 25 09 74 |cedure n|ot.%.%.t|
|00001a80| 72 79 5f 6d 65 5f 65 6c | 73 65 09 4e 31 0a 25 09 |ry_me_el|se.N1.%.|
|00001a90| 61 6c 6c 6f 63 61 74 65 | 0a 25 09 65 73 63 61 70 |allocate|.%.escap|
|00001aa0| 65 09 09 63 61 6c 6c 2c | 30 0a 25 09 63 75 74 0a |e..call,|0.%.cut.|
|00001ab0| 25 09 66 61 69 6c 0a 25 | 0a 25 4e 31 3a 09 74 72 |%.fail.%|.%N1:.tr|
|00001ac0| 75 73 74 5f 6d 65 5f 65 | 6c 73 65 09 66 61 69 6c |ust_me_e|lse.fail|
|00001ad0| 0a 25 09 70 72 6f 63 65 | 65 64 0a 0a 0a 45 4f 46 |.%.proce|ed...EOF|
|00001ae0| 2e 73 68 61 72 0a 65 63 | 68 6f 20 65 78 74 72 61 |.shar.ec|ho extra|
|00001af0| 63 74 69 6e 67 20 71 75 | 65 72 79 2e 70 6c 0a 63 |cting qu|ery.pl.c|
|00001b00| 61 74 20 3e 20 71 75 65 | 72 79 2e 70 6c 20 3c 3c |at > que|ry.pl <<|
|00001b10| 20 27 45 4f 46 2e 73 68 | 61 72 27 0a 25 09 71 75 | 'EOF.sh|ar'.%.qu|
|00001b20| 65 72 79 0a 25 09 66 72 | 6f 6d 20 57 61 72 72 65 |ery.%.fr|om Warre|
|00001b30| 6e 27 73 20 74 68 65 73 | 69 73 0a 0a 6d 61 69 6e |n's thes|is..main|
|00001b40| 20 3a 2d 0a 09 71 75 65 | 72 79 28 58 29 2c 0a 09 | :-..que|ry(X),..|
|00001b50| 77 72 69 74 65 28 58 29 | 2c 20 6e 6c 2c 0a 09 66 |write(X)|, nl,..f|
|00001b60| 61 69 6c 2e 0a 0a 71 75 | 65 72 79 28 5b 43 31 2c |ail...qu|ery([C1,|
|00001b70| 44 31 2c 43 32 2c 44 32 | 5d 29 20 3a 2d 20 0a 09 |D1,C2,D2|]) :- ..|
|00001b80| 64 65 6e 73 69 74 79 28 | 43 31 2c 44 31 29 2c 20 |density(|C1,D1), |
|00001b90| 0a 09 64 65 6e 73 69 74 | 79 28 43 32 2c 44 32 29 |..densit|y(C2,D2)|
|00001ba0| 2c 0a 09 44 31 20 3e 20 | 44 32 2c 0a 09 54 31 20 |,..D1 > |D2,..T1 |
|00001bb0| 69 73 20 32 30 2a 44 31 | 2c 0a 09 54 32 20 69 73 |is 20*D1|,..T2 is|
|00001bc0| 20 32 31 2a 44 32 2c 0a | 09 54 31 20 3c 20 54 32 | 21*D2,.|.T1 < T2|
|00001bd0| 2e 0a 0a 64 65 6e 73 69 | 74 79 28 43 2c 44 29 20 |...densi|ty(C,D) |
|00001be0| 3a 2d 20 70 6f 70 28 43 | 2c 50 29 2c 20 61 72 65 |:- pop(C|,P), are|
|00001bf0| 61 28 43 2c 41 29 2c 20 | 44 20 69 73 20 28 50 2a |a(C,A), |D is (P*|
|00001c00| 31 30 30 29 2f 41 2e 0a | 0a 70 6f 70 28 63 68 69 |100)/A..|.pop(chi|
|00001c10| 6e 61 2c 09 38 32 35 30 | 29 2e 09 61 72 65 61 28 |na,.8250|)..area(|
|00001c20| 63 68 69 6e 61 2c 09 33 | 33 38 30 29 2e 0a 70 6f |china,.3|380)..po|
|00001c30| 70 28 69 6e 64 69 61 2c | 09 35 38 36 33 29 2e 09 |p(india,|.5863)..|
|00001c40| 61 72 65 61 28 69 6e 64 | 69 61 2c 09 31 31 33 39 |area(ind|ia,.1139|
|00001c50| 29 2e 0a 70 6f 70 28 75 | 73 73 72 2c 09 32 35 32 |)..pop(u|ssr,.252|
|00001c60| 31 29 2e 09 61 72 65 61 | 28 75 73 73 72 2c 09 38 |1)..area|(ussr,.8|
|00001c70| 37 30 38 29 2e 0a 70 6f | 70 28 75 73 61 2c 09 32 |708)..po|p(usa,.2|
|00001c80| 31 31 39 29 2e 09 61 72 | 65 61 28 75 73 61 2c 09 |119)..ar|ea(usa,.|
|00001c90| 33 36 30 39 29 2e 0a 70 | 6f 70 28 69 6e 64 6f 6e |3609)..p|op(indon|
|00001ca0| 65 73 69 61 2c 09 31 32 | 37 36 29 2e 09 61 72 65 |esia,.12|76)..are|
|00001cb0| 61 28 69 6e 64 6f 6e 65 | 73 69 61 2c 09 35 37 30 |a(indone|sia,.570|
|00001cc0| 29 2e 0a 70 6f 70 28 6a | 61 70 61 6e 2c 09 31 30 |)..pop(j|apan,.10|
|00001cd0| 39 37 29 2e 09 61 72 65 | 61 28 6a 61 70 61 6e 2c |97)..are|a(japan,|
|00001ce0| 09 31 34 38 29 2e 0a 70 | 6f 70 28 62 72 61 7a 69 |.148)..p|op(brazi|
|00001cf0| 6c 2c 09 31 30 34 32 29 | 2e 09 61 72 65 61 28 62 |l,.1042)|..area(b|
|00001d00| 72 61 7a 69 6c 2c 09 33 | 32 38 38 29 2e 0a 70 6f |razil,.3|288)..po|
|00001d10| 70 28 62 61 6e 67 6c 61 | 64 65 73 68 2c 09 37 35 |p(bangla|desh,.75|
|00001d20| 30 29 2e 09 61 72 65 61 | 28 62 61 6e 67 6c 61 64 |0)..area|(banglad|
|00001d30| 65 73 68 2c 35 35 29 2e | 0a 70 6f 70 28 70 61 6b |esh,55).|.pop(pak|
|00001d40| 69 73 74 61 6e 2c 09 36 | 38 32 29 2e 09 61 72 65 |istan,.6|82)..are|
|00001d50| 61 28 70 61 6b 69 73 74 | 61 6e 2c 09 33 31 31 29 |a(pakist|an,.311)|
|00001d60| 2e 0a 70 6f 70 28 77 5f | 67 65 72 6d 61 6e 79 2c |..pop(w_|germany,|
|00001d70| 09 36 32 30 29 2e 09 61 | 72 65 61 28 77 5f 67 65 |.620)..a|rea(w_ge|
|00001d80| 72 6d 61 6e 79 2c 09 39 | 36 29 2e 0a 70 6f 70 28 |rmany,.9|6)..pop(|
|00001d90| 6e 69 67 65 72 69 61 2c | 09 36 31 33 29 2e 09 61 |nigeria,|.613)..a|
|00001da0| 72 65 61 28 6e 69 67 65 | 72 69 61 2c 09 33 37 33 |rea(nige|ria,.373|
|00001db0| 29 2e 0a 70 6f 70 28 6d | 65 78 69 63 6f 2c 09 35 |)..pop(m|exico,.5|
|00001dc0| 38 31 29 2e 09 61 72 65 | 61 28 6d 65 78 69 63 6f |81)..are|a(mexico|
|00001dd0| 2c 09 37 36 34 29 2e 0a | 70 6f 70 28 75 6b 2c 09 |,.764)..|pop(uk,.|
|00001de0| 09 35 35 39 29 2e 09 61 | 72 65 61 28 75 6b 2c 09 |.559)..a|rea(uk,.|
|00001df0| 38 36 29 2e 0a 70 6f 70 | 28 69 74 61 6c 79 2c 09 |86)..pop|(italy,.|
|00001e00| 35 35 34 29 2e 09 61 72 | 65 61 28 69 74 61 6c 79 |554)..ar|ea(italy|
|00001e10| 2c 09 31 31 36 29 2e 0a | 70 6f 70 28 66 72 61 6e |,.116)..|pop(fran|
|00001e20| 63 65 2c 09 35 32 35 29 | 2e 09 61 72 65 61 28 66 |ce,.525)|..area(f|
|00001e30| 72 61 6e 63 65 2c 09 32 | 31 33 29 2e 0a 70 6f 70 |rance,.2|13)..pop|
|00001e40| 28 70 68 69 6c 6c 69 70 | 69 6e 65 73 2c 34 31 35 |(phillip|ines,415|
|00001e50| 29 2e 09 61 72 65 61 28 | 70 68 69 6c 6c 69 70 69 |)..area(|phillipi|
|00001e60| 6e 65 73 2c 39 30 29 2e | 0a 70 6f 70 28 74 68 61 |nes,90).|.pop(tha|
|00001e70| 69 6c 61 6e 64 2c 09 34 | 31 30 29 2e 09 61 72 65 |iland,.4|10)..are|
|00001e80| 61 28 74 68 61 69 6c 61 | 6e 64 2c 09 32 30 30 29 |a(thaila|nd,.200)|
|00001e90| 2e 0a 70 6f 70 28 74 75 | 72 6b 65 79 2c 09 33 38 |..pop(tu|rkey,.38|
|00001ea0| 33 29 2e 09 61 72 65 61 | 28 74 75 72 6b 65 79 2c |3)..area|(turkey,|
|00001eb0| 09 32 39 36 29 2e 0a 70 | 6f 70 28 65 67 79 70 74 |.296)..p|op(egypt|
|00001ec0| 2c 09 33 36 34 29 2e 09 | 61 72 65 61 28 65 67 79 |,.364)..|area(egy|
|00001ed0| 70 74 2c 09 33 38 36 29 | 2e 0a 70 6f 70 28 73 70 |pt,.386)|..pop(sp|
|00001ee0| 61 69 6e 2c 09 33 35 32 | 29 2e 09 61 72 65 61 28 |ain,.352|)..area(|
|00001ef0| 73 70 61 69 6e 2c 09 31 | 39 30 29 2e 0a 70 6f 70 |spain,.1|90)..pop|
|00001f00| 28 70 6f 6c 61 6e 64 2c | 09 33 33 37 29 2e 09 61 |(poland,|.337)..a|
|00001f10| 72 65 61 28 70 6f 6c 61 | 6e 64 2c 09 31 32 31 29 |rea(pola|nd,.121)|
|00001f20| 2e 0a 70 6f 70 28 73 5f | 6b 6f 72 65 61 2c 09 33 |..pop(s_|korea,.3|
|00001f30| 33 35 29 2e 09 61 72 65 | 61 28 73 5f 6b 6f 72 65 |35)..are|a(s_kore|
|00001f40| 61 2c 09 33 37 29 2e 0a | 70 6f 70 28 69 72 61 6e |a,.37)..|pop(iran|
|00001f50| 2c 09 33 32 30 29 2e 09 | 61 72 65 61 28 69 72 61 |,.320)..|area(ira|
|00001f60| 6e 2c 09 36 32 38 29 2e | 0a 70 6f 70 28 65 74 68 |n,.628).|.pop(eth|
|00001f70| 69 6f 70 69 61 2c 09 32 | 37 32 29 2e 09 61 72 65 |iopia,.2|72)..are|
|00001f80| 61 28 65 74 68 69 6f 70 | 69 61 2c 09 33 35 30 29 |a(ethiop|ia,.350)|
|00001f90| 2e 0a 70 6f 70 28 61 72 | 67 65 6e 74 69 6e 61 2c |..pop(ar|gentina,|
|00001fa0| 09 32 35 31 29 2e 09 61 | 72 65 61 28 61 72 67 65 |.251)..a|rea(arge|
|00001fb0| 6e 74 69 6e 61 2c 09 31 | 30 38 30 29 2e 0a 0a 45 |ntina,.1|080)...E|
|00001fc0| 4f 46 2e 73 68 61 72 0a | 65 63 68 6f 20 65 78 74 |OF.shar.|echo ext|
|00001fd0| 72 61 63 74 69 6e 67 20 | 63 6f 6e 63 61 74 2e 77 |racting |concat.w|
|00001fe0| 0a 63 61 74 20 3e 20 63 | 6f 6e 63 61 74 2e 77 20 |.cat > c|oncat.w |
|00001ff0| 3c 3c 20 27 45 4f 46 2e | 73 68 61 72 27 0a 70 72 |<< 'EOF.|shar'.pr|
|00002000| 6f 63 65 64 75 72 65 20 | 20 6d 61 69 6e 2f 30 0a |ocedure | main/0.|
|00002010| 0a 5f 35 31 37 3a 0a 09 | 63 61 6c 6c 20 20 63 6f |._517:..|call co|
|00002020| 6e 63 61 74 31 2f 30 2c | 30 0a 09 63 75 74 0a 09 |ncat1/0,|0..cut..|
|00002030| 65 78 65 63 75 74 65 5f | 70 72 6f 63 20 20 63 6f |execute_|proc co|
|00002040| 6e 63 61 74 36 2f 30 0a | 0a 0a 70 72 6f 63 65 64 |ncat6/0.|..proced|
|00002050| 75 72 65 20 20 63 6f 6e | 63 61 74 31 2f 30 0a 0a |ure con|cat1/0..|
|00002060| 5f 31 30 33 38 3a 0a 09 | 70 75 74 5f 6c 69 73 74 |_1038:..|put_list|
|00002070| 20 20 58 31 0a 09 75 6e | 69 66 79 5f 63 6f 6e 73 | X1..un|ify_cons|
|00002080| 74 61 6e 74 5f 77 72 69 | 74 65 20 20 61 0a 09 67 |tant_wri|te a..g|
|00002090| 65 74 5f 63 64 72 5f 6c | 69 73 74 5f 77 72 69 74 |et_cdr_l|ist_writ|
|000020a0| 65 0a 09 75 6e 69 66 79 | 5f 63 6f 6e 73 74 61 6e |e..unify|_constan|
|000020b0| 74 5f 77 72 69 74 65 20 | 20 62 0a 09 67 65 74 5f |t_write | b..get_|
|000020c0| 63 64 72 5f 6c 69 73 74 | 5f 77 72 69 74 65 0a 09 |cdr_list|_write..|
|000020d0| 75 6e 69 66 79 5f 63 6f | 6e 73 74 61 6e 74 5f 77 |unify_co|nstant_w|
|000020e0| 72 69 74 65 20 20 63 0a | 09 75 6e 69 66 79 5f 6e |rite c.|.unify_n|
|000020f0| 69 6c 5f 77 72 69 74 65 | 0a 09 70 75 74 5f 6c 69 |il_write|..put_li|
|00002100| 73 74 20 20 58 32 0a 09 | 75 6e 69 66 79 5f 63 6f |st X2..|unify_co|
|00002110| 6e 73 74 61 6e 74 5f 77 | 72 69 74 65 20 20 64 0a |nstant_w|rite d.|
|00002120| 09 67 65 74 5f 63 64 72 | 5f 6c 69 73 74 5f 77 72 |.get_cdr|_list_wr|
|00002130| 69 74 65 0a 09 75 6e 69 | 66 79 5f 63 6f 6e 73 74 |ite..uni|fy_const|
|00002140| 61 6e 74 5f 77 72 69 74 | 65 20 20 65 0a 09 75 6e |ant_writ|e e..un|
|00002150| 69 66 79 5f 6e 69 6c 5f | 77 72 69 74 65 0a 09 70 |ify_nil_|write..p|
|00002160| 75 74 5f 76 61 72 69 61 | 62 6c 65 5f 79 20 20 59 |ut_varia|ble_y Y|
|00002170| 31 2c 58 33 0a 09 63 61 | 6c 6c 20 20 63 6f 6e 63 |1,X3..ca|ll conc|
|00002180| 61 74 2f 33 2c 31 0a 09 | 70 75 74 5f 75 6e 73 61 |at/3,1..|put_unsa|
|00002190| 66 65 5f 76 61 6c 75 65 | 20 20 59 31 2c 58 31 0a |fe_value| Y1,X1.|
|000021a0| 09 65 73 63 61 70 65 20 | 20 77 72 69 74 65 2f 31 |.escape | write/1|
|000021b0| 0a 09 65 73 63 61 70 65 | 20 20 6e 6c 2f 30 0a 09 |..escape| nl/0..|
|000021c0| 70 72 6f 63 65 65 64 0a | 0a 0a 70 72 6f 63 65 64 |proceed.|..proced|
|000021d0| 75 72 65 20 20 63 6f 6e | 63 61 74 36 2f 30 0a 0a |ure con|cat6/0..|
|000021e0| 5f 31 35 39 33 3a 0a 09 | 70 75 74 5f 6c 69 73 74 |_1593:..|put_list|
|000021f0| 20 20 58 33 0a 09 75 6e | 69 66 79 5f 63 6f 6e 73 | X3..un|ify_cons|
|00002200| 74 61 6e 74 5f 77 72 69 | 74 65 20 20 61 0a 09 67 |tant_wri|te a..g|
|00002210| 65 74 5f 63 64 72 5f 6c | 69 73 74 5f 77 72 69 74 |et_cdr_l|ist_writ|
|00002220| 65 0a 09 75 6e 69 66 79 | 5f 63 6f 6e 73 74 61 6e |e..unify|_constan|
|00002230| 74 5f 77 72 69 74 65 20 | 20 62 0a 09 67 65 74 5f |t_write | b..get_|
|00002240| 63 64 72 5f 6c 69 73 74 | 5f 77 72 69 74 65 0a 09 |cdr_list|_write..|
|00002250| 75 6e 69 66 79 5f 63 6f | 6e 73 74 61 6e 74 5f 77 |unify_co|nstant_w|
|00002260| 72 69 74 65 20 20 63 0a | 09 67 65 74 5f 63 64 72 |rite c.|.get_cdr|
|00002270| 5f 6c 69 73 74 5f 77 72 | 69 74 65 0a 09 75 6e 69 |_list_wr|ite..uni|
|00002280| 66 79 5f 63 6f 6e 73 74 | 61 6e 74 5f 77 72 69 74 |fy_const|ant_writ|
|00002290| 65 20 20 64 0a 09 67 65 | 74 5f 63 64 72 5f 6c 69 |e d..ge|t_cdr_li|
|000022a0| 73 74 5f 77 72 69 74 65 | 0a 09 75 6e 69 66 79 5f |st_write|..unify_|
|000022b0| 63 6f 6e 73 74 61 6e 74 | 5f 77 72 69 74 65 20 20 |constant|_write |
|000022c0| 65 0a 09 75 6e 69 66 79 | 5f 6e 69 6c 5f 77 72 69 |e..unify|_nil_wri|
|000022d0| 74 65 0a 09 70 75 74 5f | 76 61 72 69 61 62 6c 65 |te..put_|variable|
|000022e0| 5f 79 20 20 59 32 2c 58 | 31 0a 09 70 75 74 5f 76 |_y Y2,X|1..put_v|
|000022f0| 61 72 69 61 62 6c 65 5f | 79 20 20 59 31 2c 58 32 |ariable_|y Y1,X2|
|00002300| 0a 09 63 61 6c 6c 20 20 | 63 6f 6e 63 61 74 2f 33 |..call |concat/3|
|00002310| 2c 32 0a 09 70 75 74 5f | 75 6e 73 61 66 65 5f 76 |,2..put_|unsafe_v|
|00002320| 61 6c 75 65 20 20 59 32 | 2c 58 31 0a 09 65 73 63 |alue Y2|,X1..esc|
|00002330| 61 70 65 20 20 77 72 69 | 74 65 2f 31 0a 09 65 73 |ape wri|te/1..es|
|00002340| 63 61 70 65 20 20 6e 6c | 2f 30 0a 09 70 75 74 5f |cape nl|/0..put_|
|00002350| 75 6e 73 61 66 65 5f 76 | 61 6c 75 65 20 20 59 31 |unsafe_v|alue Y1|
|00002360| 2c 58 31 0a 09 65 73 63 | 61 70 65 20 20 77 72 69 |,X1..esc|ape wri|
|00002370| 74 65 2f 31 0a 09 65 73 | 63 61 70 65 20 20 6e 6c |te/1..es|cape nl|
|00002380| 2f 30 0a 09 65 73 63 61 | 70 65 20 20 6e 6c 2f 30 |/0..esca|pe nl/0|
|00002390| 0a 09 66 61 69 6c 0a 0a | 0a 70 72 6f 63 65 64 75 |..fail..|.procedu|
|000023a0| 72 65 20 20 63 6f 6e 63 | 61 74 2f 33 0a 0a 09 73 |re conc|at/3...s|
|000023b0| 77 69 74 63 68 5f 6f 6e | 5f 74 65 72 6d 20 20 5f |witch_on|_term _|
|000023c0| 32 32 36 37 2c 5f 32 32 | 36 38 2c 66 61 69 6c 0a |2267,_22|68,fail.|
|000023d0| 5f 32 32 37 33 3a 0a 09 | 74 72 79 5f 6d 65 5f 65 |_2273:..|try_me_e|
|000023e0| 6c 73 65 20 20 5f 32 32 | 37 38 2c 33 0a 5f 32 32 |lse _22|78,3._22|
|000023f0| 36 37 3a 0a 09 67 65 74 | 5f 76 61 6c 75 65 5f 78 |67:..get|_value_x|
|00002400| 20 20 58 32 2c 58 33 0a | 09 67 65 74 5f 6e 69 6c | X2,X3.|.get_nil|
|00002410| 20 20 58 31 0a 09 70 72 | 6f 63 65 65 64 0a 5f 32 | X1..pr|oceed._2|
|00002420| 32 37 38 3a 0a 09 74 72 | 75 73 74 5f 6d 65 5f 65 |278:..tr|ust_me_e|
|00002430| 6c 73 65 20 20 66 61 69 | 6c 0a 5f 32 32 36 38 3a |lse fai|l._2268:|
|00002440| 0a 09 67 65 74 5f 6c 69 | 73 74 20 20 58 31 0a 09 |..get_li|st X1..|
|00002450| 75 6e 69 66 79 5f 76 61 | 72 69 61 62 6c 65 5f 78 |unify_va|riable_x|
|00002460| 20 20 58 34 0a 09 75 6e | 69 66 79 5f 76 61 72 69 | X4..un|ify_vari|
|00002470| 61 62 6c 65 5f 78 20 20 | 58 31 0a 09 67 65 74 5f |able_x |X1..get_|
|00002480| 6c 69 73 74 20 20 58 33 | 0a 09 75 6e 69 66 79 5f |list X3|..unify_|
|00002490| 76 61 6c 75 65 5f 78 20 | 20 58 34 0a 09 75 6e 69 |value_x | X4..uni|
|000024a0| 66 79 5f 76 61 72 69 61 | 62 6c 65 5f 78 20 20 58 |fy_varia|ble_x X|
|000024b0| 33 0a 09 65 78 65 63 75 | 74 65 5f 70 72 6f 63 20 |3..execu|te_proc |
|000024c0| 20 63 6f 6e 63 61 74 2f | 33 0a 0a 0a 45 4f 46 2e | concat/|3...EOF.|
|000024d0| 73 68 61 72 0a 65 63 68 | 6f 20 65 78 74 72 61 63 |shar.ech|o extrac|
|000024e0| 74 69 6e 67 20 64 69 66 | 66 65 72 65 6e 2e 77 0a |ting dif|feren.w.|
|000024f0| 63 61 74 20 3e 20 64 69 | 66 66 65 72 65 6e 2e 77 |cat > di|fferen.w|
|00002500| 20 3c 3c 20 27 45 4f 46 | 2e 73 68 61 72 27 0a 70 | << 'EOF|.shar'.p|
|00002510| 72 6f 63 65 64 75 72 65 | 20 20 6d 61 69 6e 2f 30 |rocedure| main/0|
|00002520| 0a 0a 5f 31 33 39 35 3a | 0a 09 69 6e 69 74 20 20 |.._1395:|..init |
|00002530| 59 37 0a 09 69 6e 69 74 | 20 20 59 36 0a 09 69 6e |Y7..init| Y6..in|
|00002540| 69 74 20 20 59 35 0a 09 | 69 6e 69 74 20 20 59 34 |it Y5..|init Y4|
|00002550| 0a 09 69 6e 69 74 20 20 | 59 33 0a 09 69 6e 69 74 |..init |Y3..init|
|00002560| 20 20 59 32 0a 09 69 6e | 69 74 20 20 59 31 0a 09 | Y2..in|it Y1..|
|00002570| 70 75 74 5f 76 61 72 69 | 61 62 6c 65 5f 79 20 20 |put_vari|able_y |
|00002580| 59 38 2c 58 31 0a 09 63 | 61 6c 6c 20 20 74 69 6d |Y8,X1..c|all tim|
|00002590| 65 73 31 30 2f 31 2c 38 | 0a 09 70 75 74 5f 75 6e |es10/1,8|..put_un|
|000025a0| 73 61 66 65 5f 76 61 6c | 75 65 20 20 59 38 2c 58 |safe_val|ue Y8,X|
|000025b0| 31 0a 09 70 75 74 5f 63 | 6f 6e 73 74 61 6e 74 20 |1..put_c|onstant |
|000025c0| 20 78 2c 58 32 0a 09 70 | 75 74 5f 76 61 72 69 61 | x,X2..p|ut_varia|
|000025d0| 62 6c 65 5f 79 20 20 59 | 37 2c 58 33 0a 09 63 61 |ble_y Y|7,X3..ca|
|000025e0| 6c 6c 20 20 64 2f 33 2c | 37 0a 09 70 75 74 5f 75 |ll d/3,|7..put_u|
|000025f0| 6e 73 61 66 65 5f 76 61 | 6c 75 65 20 20 59 37 2c |nsafe_va|lue Y7,|
|00002600| 58 31 0a 09 65 73 63 61 | 70 65 20 20 77 72 69 74 |X1..esca|pe writ|
|00002610| 65 2f 31 0a 09 65 73 63 | 61 70 65 20 20 6e 6c 2f |e/1..esc|ape nl/|
|00002620| 30 0a 09 70 75 74 5f 76 | 61 72 69 61 62 6c 65 5f |0..put_v|ariable_|
|00002630| 79 20 20 59 36 2c 58 31 | 0a 09 63 61 6c 6c 20 20 |y Y6,X1|..call |
|00002640| 64 69 76 69 64 65 31 30 | 2f 31 2c 36 0a 09 70 75 |divide10|/1,6..pu|
|00002650| 74 5f 75 6e 73 61 66 65 | 5f 76 61 6c 75 65 20 20 |t_unsafe|_value |
|00002660| 59 36 2c 58 31 0a 09 70 | 75 74 5f 63 6f 6e 73 74 |Y6,X1..p|ut_const|
|00002670| 61 6e 74 20 20 78 2c 58 | 32 0a 09 70 75 74 5f 76 |ant x,X|2..put_v|
|00002680| 61 72 69 61 62 6c 65 5f | 79 20 20 59 35 2c 58 33 |ariable_|y Y5,X3|
|00002690| 0a 09 63 61 6c 6c 20 20 | 64 2f 33 2c 35 0a 09 70 |..call |d/3,5..p|
|000026a0| 75 74 5f 75 6e 73 61 66 | 65 5f 76 61 6c 75 65 20 |ut_unsaf|e_value |
|000026b0| 20 59 35 2c 58 31 0a 09 | 65 73 63 61 70 65 20 20 | Y5,X1..|escape |
|000026c0| 77 72 69 74 65 2f 31 0a | 09 65 73 63 61 70 65 20 |write/1.|.escape |
|000026d0| 20 6e 6c 2f 30 0a 09 70 | 75 74 5f 76 61 72 69 61 | nl/0..p|ut_varia|
|000026e0| 62 6c 65 5f 79 20 20 59 | 34 2c 58 31 0a 09 63 61 |ble_y Y|4,X1..ca|
|000026f0| 6c 6c 20 20 6c 6f 67 31 | 30 2f 31 2c 34 0a 09 70 |ll log1|0/1,4..p|
|00002700| 75 74 5f 75 6e 73 61 66 | 65 5f 76 61 6c 75 65 20 |ut_unsaf|e_value |
|00002710| 20 59 34 2c 58 31 0a 09 | 70 75 74 5f 63 6f 6e 73 | Y4,X1..|put_cons|
|00002720| 74 61 6e 74 20 20 78 2c | 58 32 0a 09 70 75 74 5f |tant x,|X2..put_|
|00002730| 76 61 72 69 61 62 6c 65 | 5f 79 20 20 59 33 2c 58 |variable|_y Y3,X|
|00002740| 33 0a 09 63 61 6c 6c 20 | 20 64 2f 33 2c 33 0a 09 |3..call | d/3,3..|
|00002750| 70 75 74 5f 75 6e 73 61 | 66 65 5f 76 61 6c 75 65 |put_unsa|fe_value|
|00002760| 20 20 59 33 2c 58 31 0a | 09 65 73 63 61 70 65 20 | Y3,X1.|.escape |
|00002770| 20 77 72 69 74 65 2f 31 | 0a 09 65 73 63 61 70 65 | write/1|..escape|
|00002780| 20 20 6e 6c 2f 30 0a 09 | 70 75 74 5f 76 61 72 69 | nl/0..|put_vari|
|00002790| 61 62 6c 65 5f 79 20 20 | 59 32 2c 58 31 0a 09 63 |able_y |Y2,X1..c|
|000027a0| 61 6c 6c 20 20 6f 70 73 | 38 2f 31 2c 32 0a 09 70 |all ops|8/1,2..p|
|000027b0| 75 74 5f 75 6e 73 61 66 | 65 5f 76 61 6c 75 65 20 |ut_unsaf|e_value |
|000027c0| 20 59 32 2c 58 31 0a 09 | 70 75 74 5f 63 6f 6e 73 | Y2,X1..|put_cons|
|000027d0| 74 61 6e 74 20 20 78 2c | 58 32 0a 09 70 75 74 5f |tant x,|X2..put_|
|000027e0| 76 61 72 69 61 62 6c 65 | 5f 79 20 20 59 31 2c 58 |variable|_y Y1,X|
|000027f0| 33 0a 09 63 61 6c 6c 20 | 20 64 2f 33 2c 31 0a 09 |3..call | d/3,1..|
|00002800| 70 75 74 5f 75 6e 73 61 | 66 65 5f 76 61 6c 75 65 |put_unsa|fe_value|
|00002810| 20 20 59 31 2c 58 31 0a | 09 65 73 63 61 70 65 20 | Y1,X1.|.escape |
|00002820| 20 77 72 69 74 65 2f 31 | 0a 09 65 73 63 61 70 65 | write/1|..escape|
|00002830| 20 20 6e 6c 2f 30 0a 09 | 70 72 6f 63 65 65 64 0a | nl/0..|proceed.|
|00002840| 0a 0a 70 72 6f 63 65 64 | 75 72 65 20 20 64 2f 33 |..proced|ure d/3|
|00002850| 0a 0a 09 73 77 69 74 63 | 68 5f 6f 6e 5f 74 65 72 |...switc|h_on_ter|
|00002860| 6d 20 20 5f 35 34 33 37 | 2c 5f 35 34 33 37 2c 5f |m _5437|,_5437,_|
|00002870| 35 34 33 39 0a 5f 35 34 | 34 33 3a 0a 09 74 72 79 |5439._54|43:..try|
|00002880| 5f 6d 65 5f 65 6c 73 65 | 20 20 5f 35 34 34 38 2c |_me_else| _5448,|
|00002890| 33 0a 5f 35 34 35 32 3a | 0a 09 67 65 74 5f 76 61 |3._5452:|..get_va|
|000028a0| 72 69 61 62 6c 65 5f 79 | 20 20 59 32 2c 58 32 0a |riable_y| Y2,X2.|
|000028b0| 09 67 65 74 5f 73 74 72 | 75 63 74 75 72 65 20 20 |.get_str|ucture |
|000028c0| 2b 2f 32 2c 58 31 2c 32 | 0a 09 75 6e 69 66 79 5f |+/2,X1,2|..unify_|
|000028d0| 76 61 72 69 61 62 6c 65 | 5f 78 20 20 58 31 0a 09 |variable|_x X1..|
|000028e0| 75 6e 69 66 79 5f 76 61 | 72 69 61 62 6c 65 5f 79 |unify_va|riable_y|
|000028f0| 20 20 59 33 0a 09 67 65 | 74 5f 73 74 72 75 63 74 | Y3..ge|t_struct|
|00002900| 75 72 65 20 20 2b 2f 32 | 2c 58 33 2c 32 0a 09 75 |ure +/2|,X3,2..u|
|00002910| 6e 69 66 79 5f 76 61 72 | 69 61 62 6c 65 5f 78 20 |nify_var|iable_x |
|00002920| 20 58 33 0a 09 75 6e 69 | 66 79 5f 76 61 72 69 61 | X3..uni|fy_varia|
|00002930| 62 6c 65 5f 79 20 20 59 | 31 0a 09 63 75 74 0a 09 |ble_y Y|1..cut..|
|00002940| 63 61 6c 6c 20 20 64 2f | 33 2c 33 0a 09 70 75 74 |call d/|3,3..put|
|00002950| 5f 76 61 6c 75 65 5f 79 | 20 20 59 33 2c 58 31 0a |_value_y| Y3,X1.|
|00002960| 09 70 75 74 5f 76 61 6c | 75 65 5f 79 20 20 59 32 |.put_val|ue_y Y2|
|00002970| 2c 58 32 0a 09 70 75 74 | 5f 76 61 6c 75 65 5f 79 |,X2..put|_value_y|
|00002980| 20 20 59 31 2c 58 33 0a | 09 65 78 65 63 75 74 65 | Y1,X3.|.execute|
|00002990| 5f 70 72 6f 63 20 20 64 | 2f 33 0a 5f 35 34 34 38 |_proc d|/3._5448|
|000029a0| 3a 0a 09 72 65 74 72 79 | 5f 6d 65 5f 65 6c 73 65 |:..retry|_me_else|
|000029b0| 20 20 5f 35 35 36 36 0a | 5f 35 35 37 30 3a 0a 09 | _5566.|_5570:..|
|000029c0| 67 65 74 5f 76 61 72 69 | 61 62 6c 65 5f 79 20 20 |get_vari|able_y |
|000029d0| 59 32 2c 58 32 0a 09 67 | 65 74 5f 73 74 72 75 63 |Y2,X2..g|et_struc|
|000029e0| 74 75 72 65 20 20 2d 2f | 32 2c 58 31 2c 32 0a 09 |ture -/|2,X1,2..|
|000029f0| 75 6e 69 66 79 5f 76 61 | 72 69 61 62 6c 65 5f 78 |unify_va|riable_x|
|00002a00| 20 20 58 31 0a 09 75 6e | 69 66 79 5f 76 61 72 69 | X1..un|ify_vari|
|00002a10| 61 62 6c 65 5f 79 20 20 | 59 33 0a 09 67 65 74 5f |able_y |Y3..get_|
|00002a20| 73 74 72 75 63 74 75 72 | 65 20 20 2d 2f 32 2c 58 |structur|e -/2,X|
|00002a30| 33 2c 32 0a 09 75 6e 69 | 66 79 5f 76 61 72 69 61 |3,2..uni|fy_varia|
|00002a40| 62 6c 65 5f 78 20 20 58 | 33 0a 09 75 6e 69 66 79 |ble_x X|3..unify|
|00002a50| 5f 76 61 72 69 61 62 6c | 65 5f 79 20 20 59 31 0a |_variabl|e_y Y1.|
|00002a60| 09 63 75 74 0a 09 63 61 | 6c 6c 20 20 64 2f 33 2c |.cut..ca|ll d/3,|
|00002a70| 33 0a 09 70 75 74 5f 76 | 61 6c 75 65 5f 79 20 20 |3..put_v|alue_y |
|00002a80| 59 33 2c 58 31 0a 09 70 | 75 74 5f 76 61 6c 75 65 |Y3,X1..p|ut_value|
|00002a90| 5f 79 20 20 59 32 2c 58 | 32 0a 09 70 75 74 5f 76 |_y Y2,X|2..put_v|
|00002aa0| 61 6c 75 65 5f 79 20 20 | 59 31 2c 58 33 0a 09 65 |alue_y |Y1,X3..e|
|00002ab0| 78 65 63 75 74 65 5f 70 | 72 6f 63 20 20 64 2f 33 |xecute_p|roc d/3|
|00002ac0| 0a 5f 35 35 36 36 3a 0a | 09 72 65 74 72 79 5f 6d |._5566:.|.retry_m|
|00002ad0| 65 5f 65 6c 73 65 20 20 | 5f 35 36 38 34 0a 5f 35 |e_else |_5684._5|
|00002ae0| 36 38 38 3a 0a 09 67 65 | 74 5f 76 61 72 69 61 62 |688:..ge|t_variab|
|00002af0| 6c 65 5f 79 20 20 59 32 | 2c 58 32 0a 09 67 65 74 |le_y Y2|,X2..get|
|00002b00| 5f 73 74 72 75 63 74 75 | 72 65 20 20 2a 2f 32 2c |_structu|re */2,|
|00002b10| 58 31 2c 32 0a 09 75 6e | 69 66 79 5f 76 61 72 69 |X1,2..un|ify_vari|
|00002b20| 61 62 6c 65 5f 78 20 20 | 58 31 0a 09 75 6e 69 66 |able_x |X1..unif|
|00002b30| 79 5f 76 61 72 69 61 62 | 6c 65 5f 79 20 20 59 33 |y_variab|le_y Y3|
|00002b40| 0a 09 67 65 74 5f 73 74 | 72 75 63 74 75 72 65 20 |..get_st|ructure |
|00002b50| 20 2b 2f 32 2c 58 33 2c | 32 0a 09 75 6e 69 66 79 | +/2,X3,|2..unify|
|00002b60| 5f 76 61 72 69 61 62 6c | 65 5f 78 20 20 58 34 0a |_variabl|e_x X4.|
|00002b70| 09 75 6e 69 66 79 5f 76 | 61 72 69 61 62 6c 65 5f |.unify_v|ariable_|
|00002b80| 78 20 20 58 35 0a 09 67 | 65 74 5f 73 74 72 75 63 |x X5..g|et_struc|
|00002b90| 74 75 72 65 20 20 2a 2f | 32 2c 58 34 2c 32 0a 09 |ture */|2,X4,2..|
|00002ba0| 75 6e 69 66 79 5f 76 61 | 72 69 61 62 6c 65 5f 78 |unify_va|riable_x|
|00002bb0| 20 20 58 33 0a 09 75 6e | 69 66 79 5f 76 61 6c 75 | X3..un|ify_valu|
|00002bc0| 65 5f 79 20 20 59 33 0a | 09 67 65 74 5f 73 74 72 |e_y Y3.|.get_str|
|00002bd0| 75 63 74 75 72 65 20 20 | 2a 2f 32 2c 58 35 2c 32 |ucture |*/2,X5,2|
|00002be0| 0a 09 75 6e 69 66 79 5f | 76 61 6c 75 65 5f 78 20 |..unify_|value_x |
|00002bf0| 20 58 31 0a 09 75 6e 69 | 66 79 5f 76 61 72 69 61 | X1..uni|fy_varia|
|00002c00| 62 6c 65 5f 79 20 20 59 | 31 0a 09 63 75 74 0a 09 |ble_y Y|1..cut..|
|00002c10| 63 61 6c 6c 20 20 64 2f | 33 2c 33 0a 09 70 75 74 |call d/|3,3..put|
|00002c20| 5f 76 61 6c 75 65 5f 79 | 20 20 59 33 2c 58 31 0a |_value_y| Y3,X1.|
|00002c30| 09 70 75 74 5f 76 61 6c | 75 65 5f 79 20 20 59 32 |.put_val|ue_y Y2|
|00002c40| 2c 58 32 0a 09 70 75 74 | 5f 76 61 6c 75 65 5f 79 |,X2..put|_value_y|
|00002c50| 20 20 59 31 2c 58 33 0a | 09 65 78 65 63 75 74 65 | Y1,X3.|.execute|
|00002c60| 5f 70 72 6f 63 20 20 64 | 2f 33 0a 5f 35 36 38 34 |_proc d|/3._5684|
|00002c70| 3a 0a 09 72 65 74 72 79 | 5f 6d 65 5f 65 6c 73 65 |:..retry|_me_else|
|00002c80| 20 20 5f 35 38 35 36 0a | 5f 35 38 36 30 3a 0a 09 | _5856.|_5860:..|
|00002c90| 67 65 74 5f 76 61 72 69 | 61 62 6c 65 5f 79 20 20 |get_vari|able_y |
|00002ca0| 59 32 2c 58 32 0a 09 67 | 65 74 5f 73 74 72 75 63 |Y2,X2..g|et_struc|
|00002cb0| 74 75 72 65 20 20 2f 2f | 32 2c 58 31 2c 32 0a 09 |ture //|2,X1,2..|
|00002cc0| 75 6e 69 66 79 5f 76 61 | 72 69 61 62 6c 65 5f 78 |unify_va|riable_x|
|00002cd0| 20 20 58 31 0a 09 75 6e | 69 66 79 5f 76 61 72 69 | X1..un|ify_vari|
|00002ce0| 61 62 6c 65 5f 79 20 20 | 59 33 0a 09 67 65 74 5f |able_y |Y3..get_|
|00002cf0| 73 74 72 75 63 74 75 72 | 65 20 20 2f 2f 32 2c 58 |structur|e //2,X|
|00002d00| 33 2c 32 0a 09 75 6e 69 | 66 79 5f 76 61 72 69 61 |3,2..uni|fy_varia|
|00002d10| 62 6c 65 5f 78 20 20 58 | 34 0a 09 75 6e 69 66 79 |ble_x X|4..unify|
|00002d20| 5f 76 61 72 69 61 62 6c | 65 5f 78 20 20 58 35 0a |_variabl|e_x X5.|
|00002d30| 09 67 65 74 5f 73 74 72 | 75 63 74 75 72 65 20 20 |.get_str|ucture |
|00002d40| 2d 2f 32 2c 58 34 2c 32 | 0a 09 75 6e 69 66 79 5f |-/2,X4,2|..unify_|
|00002d50| 76 61 72 69 61 62 6c 65 | 5f 78 20 20 58 34 0a 09 |variable|_x X4..|
|00002d60| 75 6e 69 66 79 5f 76 61 | 72 69 61 62 6c 65 5f 78 |unify_va|riable_x|
|00002d70| 20 20 58 36 0a 09 67 65 | 74 5f 73 74 72 75 63 74 | X6..ge|t_struct|
|00002d80| 75 72 65 20 20 2a 2f 32 | 2c 58 34 2c 32 0a 09 75 |ure */2|,X4,2..u|
|00002d90| 6e 69 66 79 5f 76 61 72 | 69 61 62 6c 65 5f 78 20 |nify_var|iable_x |
|00002da0| 20 58 33 0a 09 75 6e 69 | 66 79 5f 76 61 6c 75 65 | X3..uni|fy_value|
|00002db0| 5f 79 20 20 59 33 0a 09 | 67 65 74 5f 73 74 72 75 |_y Y3..|get_stru|
|00002dc0| 63 74 75 72 65 20 20 2a | 2f 32 2c 58 36 2c 32 0a |cture *|/2,X6,2.|
|00002dd0| 09 75 6e 69 66 79 5f 76 | 61 6c 75 65 5f 78 20 20 |.unify_v|alue_x |
|00002de0| 58 31 0a 09 75 6e 69 66 | 79 5f 76 61 72 69 61 62 |X1..unif|y_variab|
|00002df0| 6c 65 5f 79 20 20 59 31 | 0a 09 67 65 74 5f 73 74 |le_y Y1|..get_st|
|00002e00| 72 75 63 74 75 72 65 20 | 20 5e 2f 32 2c 58 35 2c |ructure | ^/2,X5,|
|00002e10| 32 0a 09 75 6e 69 66 79 | 5f 76 61 6c 75 65 5f 79 |2..unify|_value_y|
|00002e20| 20 20 59 33 0a 09 75 6e | 69 66 79 5f 63 6f 6e 73 | Y3..un|ify_cons|
|00002e30| 74 61 6e 74 20 20 26 32 | 0a 09 63 75 74 0a 09 63 |tant &2|..cut..c|
|00002e40| 61 6c 6c 20 20 64 2f 33 | 2c 33 0a 09 70 75 74 5f |all d/3|,3..put_|
|00002e50| 76 61 6c 75 65 5f 79 20 | 20 59 33 2c 58 31 0a 09 |value_y | Y3,X1..|
|00002e60| 70 75 74 5f 76 61 6c 75 | 65 5f 79 20 20 59 32 2c |put_valu|e_y Y2,|
|00002e70| 58 32 0a 09 70 75 74 5f | 76 61 6c 75 65 5f 79 20 |X2..put_|value_y |
|00002e80| 20 59 31 2c 58 33 0a 09 | 65 78 65 63 75 74 65 5f | Y1,X3..|execute_|
|00002e90| 70 72 6f 63 20 20 64 2f | 33 0a 5f 35 38 35 36 3a |proc d/|3._5856:|
|00002ea0| 0a 09 72 65 74 72 79 5f | 6d 65 5f 65 6c 73 65 20 |..retry_|me_else |
|00002eb0| 20 5f 36 30 38 30 0a 5f | 36 30 38 34 3a 0a 09 67 | _6080._|6084:..g|
|00002ec0| 65 74 5f 76 61 72 69 61 | 62 6c 65 5f 78 20 20 58 |et_varia|ble_x X|
|00002ed0| 35 2c 58 32 0a 09 67 65 | 74 5f 73 74 72 75 63 74 |5,X2..ge|t_struct|
|00002ee0| 75 72 65 20 20 5e 2f 32 | 2c 58 31 2c 32 0a 09 75 |ure ^/2|,X1,2..u|
|00002ef0| 6e 69 66 79 5f 76 61 72 | 69 61 62 6c 65 5f 78 20 |nify_var|iable_x |
|00002f00| 20 58 36 0a 09 75 6e 69 | 66 79 5f 76 61 72 69 61 | X6..uni|fy_varia|
|00002f10| 62 6c 65 5f 78 20 20 58 | 32 0a 09 67 65 74 5f 73 |ble_x X|2..get_s|
|00002f20| 74 72 75 63 74 75 72 65 | 20 20 2a 2f 32 2c 58 33 |tructure| */2,X3|
|00002f30| 2c 32 0a 09 75 6e 69 66 | 79 5f 76 61 72 69 61 62 |,2..unif|y_variab|
|00002f40| 6c 65 5f 78 20 20 58 33 | 0a 09 75 6e 69 66 79 5f |le_x X3|..unify_|
|00002f50| 76 61 72 69 61 62 6c 65 | 5f 78 20 20 58 34 0a 09 |variable|_x X4..|
|00002f60| 67 65 74 5f 73 74 72 75 | 63 74 75 72 65 20 20 2a |get_stru|cture *|
|00002f70| 2f 32 2c 58 33 2c 32 0a | 09 75 6e 69 66 79 5f 76 |/2,X3,2.|.unify_v|
|00002f80| 61 72 69 61 62 6c 65 5f | 78 20 20 58 37 0a 09 75 |ariable_|x X7..u|
|00002f90| 6e 69 66 79 5f 76 61 6c | 75 65 5f 78 20 20 58 32 |nify_val|ue_x X2|
|00002fa0| 0a 09 67 65 74 5f 73 74 | 72 75 63 74 75 72 65 20 |..get_st|ructure |
|00002fb0| 20 5e 2f 32 2c 58 34 2c | 32 0a 09 75 6e 69 66 79 | ^/2,X4,|2..unify|
|00002fc0| 5f 76 61 6c 75 65 5f 78 | 20 20 58 36 0a 09 75 6e |_value_x| X6..un|
|00002fd0| 69 66 79 5f 76 61 72 69 | 61 62 6c 65 5f 78 20 20 |ify_vari|able_x |
|00002fe0| 58 33 0a 09 63 75 74 0a | 09 70 75 74 5f 76 61 6c |X3..cut.|.put_val|
|00002ff0| 75 65 5f 78 20 20 58 32 | 2c 58 31 0a 09 65 73 63 |ue_x X2|,X1..esc|
|00003000| 61 70 65 20 20 69 6e 74 | 65 67 65 72 2f 31 0a 09 |ape int|eger/1..|
|00003010| 70 75 74 5f 76 61 6c 75 | 65 5f 78 20 20 58 33 2c |put_valu|e_x X3,|
|00003020| 58 31 0a 09 70 75 74 5f | 63 6f 6e 73 74 61 6e 74 |X1..put_|constant|
|00003030| 20 20 2d 2c 58 33 0a 09 | 70 75 74 5f 63 6f 6e 73 | -,X3..|put_cons|
|00003040| 74 61 6e 74 20 20 26 31 | 2c 58 34 0a 09 65 73 63 |tant &1|,X4..esc|
|00003050| 61 70 65 20 20 69 73 2f | 34 0a 09 70 75 74 5f 76 |ape is/|4..put_v|
|00003060| 61 6c 75 65 5f 78 20 20 | 58 36 2c 58 31 0a 09 70 |alue_x |X6,X1..p|
|00003070| 75 74 5f 76 61 6c 75 65 | 5f 78 20 20 58 35 2c 58 |ut_value|_x X5,X|
|00003080| 32 0a 09 70 75 74 5f 76 | 61 6c 75 65 5f 78 20 20 |2..put_v|alue_x |
|00003090| 58 37 2c 58 33 0a 09 65 | 78 65 63 75 74 65 5f 70 |X7,X3..e|xecute_p|
|000030a0| 72 6f 63 20 20 64 2f 33 | 0a 5f 36 30 38 30 3a 0a |roc d/3|._6080:.|
|000030b0| 09 72 65 74 72 79 5f 6d | 65 5f 65 6c 73 65 20 20 |.retry_m|e_else |
|000030c0| 5f 36 32 39 33 0a 5f 36 | 32 39 37 3a 0a 09 67 65 |_6293._6|297:..ge|
|000030d0| 74 5f 73 74 72 75 63 74 | 75 72 65 20 20 2d 2f 31 |t_struct|ure -/1|
|000030e0| 2c 58 31 2c 31 0a 09 75 | 6e 69 66 79 5f 76 61 72 |,X1,1..u|nify_var|
|000030f0| 69 61 62 6c 65 5f 78 20 | 20 58 31 0a 09 67 65 74 |iable_x | X1..get|
|00003100| 5f 73 74 72 75 63 74 75 | 72 65 20 20 2d 2f 31 2c |_structu|re -/1,|
|00003110| 58 33 2c 31 0a 09 75 6e | 69 66 79 5f 76 61 72 69 |X3,1..un|ify_vari|
|00003120| 61 62 6c 65 5f 78 20 20 | 58 33 0a 09 63 75 74 0a |able_x |X3..cut.|
|00003130| 09 65 78 65 63 75 74 65 | 5f 70 72 6f 63 20 20 64 |.execute|_proc d|
|00003140| 2f 33 0a 5f 36 32 39 33 | 3a 0a 09 72 65 74 72 79 |/3._6293|:..retry|
|00003150| 5f 6d 65 5f 65 6c 73 65 | 20 20 5f 36 33 35 30 0a |_me_else| _6350.|
|00003160| 5f 36 33 35 34 3a 0a 09 | 67 65 74 5f 73 74 72 75 |_6354:..|get_stru|
|00003170| 63 74 75 72 65 20 20 65 | 78 70 2f 31 2c 58 31 2c |cture e|xp/1,X1,|
|00003180| 31 0a 09 75 6e 69 66 79 | 5f 76 61 72 69 61 62 6c |1..unify|_variabl|
|00003190| 65 5f 78 20 20 58 31 0a | 09 67 65 74 5f 73 74 72 |e_x X1.|.get_str|
|000031a0| 75 63 74 75 72 65 20 20 | 2a 2f 32 2c 58 33 2c 32 |ucture |*/2,X3,2|
|000031b0| 0a 09 75 6e 69 66 79 5f | 76 61 72 69 61 62 6c 65 |..unify_|variable|
|000031c0| 5f 78 20 20 58 34 0a 09 | 75 6e 69 66 79 5f 76 61 |_x X4..|unify_va|
|000031d0| 72 69 61 62 6c 65 5f 78 | 20 20 58 33 0a 09 67 65 |riable_x| X3..ge|
|000031e0| 74 5f 73 74 72 75 63 74 | 75 72 65 20 20 65 78 70 |t_struct|ure exp|
|000031f0| 2f 31 2c 58 34 2c 31 0a | 09 75 6e 69 66 79 5f 76 |/1,X4,1.|.unify_v|
|00003200| 61 6c 75 65 5f 78 20 20 | 58 31 0a 09 63 75 74 0a |alue_x |X1..cut.|
|00003210| 09 65 78 65 63 75 74 65 | 5f 70 72 6f 63 20 20 64 |.execute|_proc d|
|00003220| 2f 33 0a 5f 36 33 35 30 | 3a 0a 09 72 65 74 72 79 |/3._6350|:..retry|
|00003230| 5f 6d 65 5f 65 6c 73 65 | 20 20 5f 36 34 33 34 0a |_me_else| _6434.|
|00003240| 5f 36 34 33 38 3a 0a 09 | 67 65 74 5f 73 74 72 75 |_6438:..|get_stru|
|00003250| 63 74 75 72 65 20 20 6c | 6f 67 2f 31 2c 58 31 2c |cture l|og/1,X1,|
|00003260| 31 0a 09 75 6e 69 66 79 | 5f 76 61 72 69 61 62 6c |1..unify|_variabl|
|00003270| 65 5f 78 20 20 58 31 0a | 09 67 65 74 5f 73 74 72 |e_x X1.|.get_str|
|00003280| 75 63 74 75 72 65 20 20 | 2f 2f 32 2c 58 33 2c 32 |ucture |//2,X3,2|
|00003290| 0a 09 75 6e 69 66 79 5f | 76 61 72 69 61 62 6c 65 |..unify_|variable|
|000032a0| 5f 78 20 20 58 33 0a 09 | 75 6e 69 66 79 5f 76 61 |_x X3..|unify_va|
|000032b0| 6c 75 65 5f 78 20 20 58 | 31 0a 09 63 75 74 0a 09 |lue_x X|1..cut..|
|000032c0| 65 78 65 63 75 74 65 5f | 70 72 6f 63 20 20 64 2f |execute_|proc d/|
|000032d0| 33 0a 5f 36 34 33 34 3a | 0a 09 72 65 74 72 79 5f |3._6434:|..retry_|
|000032e0| 6d 65 5f 65 6c 73 65 20 | 20 5f 36 34 39 39 0a 5f |me_else | _6499._|
|000032f0| 36 35 30 33 3a 0a 09 67 | 65 74 5f 76 61 6c 75 65 |6503:..g|et_value|
|00003300| 5f 78 20 20 58 31 2c 58 | 32 0a 09 67 65 74 5f 63 |_x X1,X|2..get_c|
|00003310| 6f 6e 73 74 61 6e 74 20 | 20 26 31 2c 58 33 0a 09 |onstant | &1,X3..|
|00003320| 70 72 6f 63 65 65 64 0a | 5f 36 34 39 39 3a 0a 09 |proceed.|_6499:..|
|00003330| 74 72 75 73 74 5f 6d 65 | 5f 65 6c 73 65 20 20 66 |trust_me|_else f|
|00003340| 61 69 6c 0a 5f 36 35 33 | 36 3a 0a 09 67 65 74 5f |ail._653|6:..get_|
|00003350| 63 6f 6e 73 74 61 6e 74 | 20 20 26 30 2c 58 33 0a |constant| &0,X3.|
|00003360| 09 70 72 6f 63 65 65 64 | 0a 5f 35 34 33 37 3a 0a |.proceed|._5437:.|
|00003370| 09 74 72 79 20 20 5f 36 | 35 30 33 2c 33 0a 09 74 |.try _6|503,3..t|
|00003380| 72 75 73 74 20 20 5f 36 | 35 33 36 0a 5f 35 34 33 |rust _6|536._543|
|00003390| 39 3a 0a 09 74 72 79 5f | 6d 65 5f 65 6c 73 65 20 |9:..try_|me_else |
|000033a0| 20 5f 36 35 36 37 2c 33 | 0a 09 73 77 69 74 63 68 | _6567,3|..switch|
|000033b0| 5f 6f 6e 5f 73 74 72 75 | 63 74 75 72 65 20 20 31 |_on_stru|cture 1|
|000033c0| 35 2c 5f 36 35 37 33 0a | 5f 36 35 37 33 3a 0a 09 |5,_6573.|_6573:..|
|000033d0| 6c 6f 67 2f 31 0a 09 5f | 36 34 33 38 0a 09 65 78 |log/1.._|6438..ex|
|000033e0| 70 2f 31 0a 09 5f 36 33 | 35 34 0a 09 2d 2f 31 0a |p/1.._63|54..-/1.|
|000033f0| 09 5f 36 32 39 37 0a 09 | 5e 2f 32 0a 09 5f 36 30 |._6297..|^/2.._60|
|00003400| 38 34 0a 09 2f 2f 32 0a | 09 5f 35 38 36 30 0a 09 |84..//2.|._5860..|
|00003410| 2a 2f 32 0a 09 5f 35 36 | 38 38 0a 09 2d 2f 32 0a |*/2.._56|88..-/2.|
|00003420| 09 5f 35 35 37 30 0a 09 | 2b 2f 32 09 74 63 64 72 |._5570..|+/2.tcdr|
|00003430| 0a 09 5f 35 34 35 32 0a | 5f 36 35 36 37 3a 0a 09 |.._5452.|_6567:..|
|00003440| 72 65 74 72 79 20 20 5f | 36 35 30 33 0a 09 74 72 |retry _|6503..tr|
|00003450| 75 73 74 20 20 5f 36 35 | 33 36 0a 0a 0a 70 72 6f |ust _65|36...pro|
|00003460| 63 65 64 75 72 65 20 20 | 74 69 6d 65 73 31 30 2f |cedure |times10/|
|00003470| 31 0a 0a 5f 38 30 34 36 | 3a 0a 09 67 65 74 5f 73 |1.._8046|:..get_s|
|00003480| 74 72 75 63 74 75 72 65 | 20 20 2a 2f 32 2c 58 31 |tructure| */2,X1|
|00003490| 2c 32 0a 09 75 6e 69 66 | 79 5f 76 61 72 69 61 62 |,2..unif|y_variab|
|000034a0| 6c 65 5f 78 20 20 58 31 | 0a 09 75 6e 69 66 79 5f |le_x X1|..unify_|
|000034b0| 63 6f 6e 73 74 61 6e 74 | 20 20 78 0a 09 67 65 74 |constant| x..get|
|000034c0| 5f 73 74 72 75 63 74 75 | 72 65 20 20 2a 2f 32 2c |_structu|re */2,|
|000034d0| 58 31 2c 32 0a 09 75 6e | 69 66 79 5f 76 61 72 69 |X1,2..un|ify_vari|
|000034e0| 61 62 6c 65 5f 78 20 20 | 58 31 0a 09 75 6e 69 66 |able_x |X1..unif|
|000034f0| 79 5f 63 6f 6e 73 74 61 | 6e 74 20 20 78 0a 09 67 |y_consta|nt x..g|
|00003500| 65 74 5f 73 74 72 75 63 | 74 75 72 65 20 20 2a 2f |et_struc|ture */|
|00003510| 32 2c 58 31 2c 32 0a 09 | 75 6e 69 66 79 5f 76 61 |2,X1,2..|unify_va|
|00003520| 72 69 61 62 6c 65 5f 78 | 20 20 58 31 0a 09 75 6e |riable_x| X1..un|
|00003530| 69 66 79 5f 63 6f 6e 73 | 74 61 6e 74 20 20 78 0a |ify_cons|tant x.|
|00003540| 09 67 65 74 5f 73 74 72 | 75 63 74 75 72 65 20 20 |.get_str|ucture |
|00003550| 2a 2f 32 2c 58 31 2c 32 | 0a 09 75 6e 69 66 79 5f |*/2,X1,2|..unify_|
|00003560| 76 61 72 69 61 62 6c 65 | 5f 78 20 20 58 31 0a 09 |variable|_x X1..|
|00003570| 75 6e 69 66 79 5f 63 6f | 6e 73 74 61 6e 74 20 20 |unify_co|nstant |
|00003580| 78 0a 09 67 65 74 5f 73 | 74 72 75 63 74 75 72 65 |x..get_s|tructure|
|00003590| 20 20 2a 2f 32 2c 58 31 | 2c 32 0a 09 75 6e 69 66 | */2,X1|,2..unif|
|000035a0| 79 5f 76 61 72 69 61 62 | 6c 65 5f 78 20 20 58 31 |y_variab|le_x X1|
|000035b0| 0a 09 75 6e 69 66 79 5f | 63 6f 6e 73 74 61 6e 74 |..unify_|constant|
|000035c0| 20 20 78 0a 09 67 65 74 | 5f 73 74 72 75 63 74 75 | x..get|_structu|
|000035d0| 72 65 20 20 2a 2f 32 2c | 58 31 2c 32 0a 09 75 6e |re */2,|X1,2..un|
|000035e0| 69 66 79 5f 76 61 72 69 | 61 62 6c 65 5f 78 20 20 |ify_vari|able_x |
|000035f0| 58 31 0a 09 75 6e 69 66 | 79 5f 63 6f 6e 73 74 61 |X1..unif|y_consta|
|00003600| 6e 74 20 20 78 0a 09 67 | 65 74 5f 73 74 72 75 63 |nt x..g|et_struc|
|00003610| 74 75 72 65 20 20 2a 2f | 32 2c 58 31 2c 32 0a 09 |ture */|2,X1,2..|
|00003620| 75 6e 69 66 79 5f 76 61 | 72 69 61 62 6c 65 5f 78 |unify_va|riable_x|
|00003630| 20 20 58 31 0a 09 75 6e | 69 66 79 5f 63 6f 6e 73 | X1..un|ify_cons|
|00003640| 74 61 6e 74 20 20 78 0a | 09 67 65 74 5f 73 74 72 |tant x.|.get_str|
|00003650| 75 63 74 75 72 65 20 20 | 2a 2f 32 2c 58 31 2c 32 |ucture |*/2,X1,2|
|00003660| 0a 09 75 6e 69 66 79 5f | 76 61 72 69 61 62 6c 65 |..unify_|variable|
|00003670| 5f 78 20 20 58 31 0a 09 | 75 6e 69 66 79 5f 63 6f |_x X1..|unify_co|
|00003680| 6e 73 74 61 6e 74 20 20 | 78 0a 09 67 65 74 5f 73 |nstant |x..get_s|
|00003690| 74 72 75 63 74 75 72 65 | 20 20 2a 2f 32 2c 58 31 |tructure| */2,X1|
|000036a0| 2c 32 0a 09 75 6e 69 66 | 79 5f 63 6f 6e 73 74 61 |,2..unif|y_consta|
|000036b0| 6e 74 20 20 78 0a 09 75 | 6e 69 66 79 5f 63 6f 6e |nt x..u|nify_con|
|000036c0| 73 74 61 6e 74 20 20 78 | 0a 09 70 72 6f 63 65 65 |stant x|..procee|
|000036d0| 64 0a 0a 0a 70 72 6f 63 | 65 64 75 72 65 20 20 64 |d...proc|edure d|
|000036e0| 69 76 69 64 65 31 30 2f | 31 0a 0a 5f 38 38 35 38 |ivide10/|1.._8858|
|000036f0| 3a 0a 09 67 65 74 5f 73 | 74 72 75 63 74 75 72 65 |:..get_s|tructure|
|00003700| 20 20 2f 2f 32 2c 58 31 | 2c 32 0a 09 75 6e 69 66 | //2,X1|,2..unif|
|00003710| 79 5f 76 61 72 69 61 62 | 6c 65 5f 78 20 20 58 31 |y_variab|le_x X1|
|00003720| 0a 09 75 6e 69 66 79 5f | 63 6f 6e 73 74 61 6e 74 |..unify_|constant|
|00003730| 20 20 78 0a 09 67 65 74 | 5f 73 74 72 75 63 74 75 | x..get|_structu|
|00003740| 72 65 20 20 2f 2f 32 2c | 58 31 2c 32 0a 09 75 6e |re //2,|X1,2..un|
|00003750| 69 66 79 5f 76 61 72 69 | 61 62 6c 65 5f 78 20 20 |ify_vari|able_x |
|00003760| 58 31 0a 09 75 6e 69 66 | 79 5f 63 6f 6e 73 74 61 |X1..unif|y_consta|
|00003770| 6e 74 20 20 78 0a 09 67 | 65 74 5f 73 74 72 75 63 |nt x..g|et_struc|
|00003780| 74 75 72 65 20 20 2f 2f | 32 2c 58 31 2c 32 0a 09 |ture //|2,X1,2..|
|00003790| 75 6e 69 66 79 5f 76 61 | 72 69 61 62 6c 65 5f 78 |unify_va|riable_x|
|000037a0| 20 20 58 31 0a 09 75 6e | 69 66 79 5f 63 6f 6e 73 | X1..un|ify_cons|
|000037b0| 74 61 6e 74 20 20 78 0a | 09 67 65 74 5f 73 74 72 |tant x.|.get_str|
|000037c0| 75 63 74 75 72 65 20 20 | 2f 2f 32 2c 58 31 2c 32 |ucture |//2,X1,2|
|000037d0| 0a 09 75 6e 69 66 79 5f | 76 61 72 69 61 62 6c 65 |..unify_|variable|
|000037e0| 5f 78 20 20 58 31 0a 09 | 75 6e 69 66 79 5f 63 6f |_x X1..|unify_co|
|000037f0| 6e 73 74 61 6e 74 20 20 | 78 0a 09 67 65 74 5f 73 |nstant |x..get_s|
|00003800| 74 72 75 63 74 75 72 65 | 20 20 2f 2f 32 2c 58 31 |tructure| //2,X1|
|00003810| 2c 32 0a 09 75 6e 69 66 | 79 5f 76 61 72 69 61 62 |,2..unif|y_variab|
|00003820| 6c 65 5f 78 20 20 58 31 | 0a 09 75 6e 69 66 79 5f |le_x X1|..unify_|
|00003830| 63 6f 6e 73 74 61 6e 74 | 20 20 78 0a 09 67 65 74 |constant| x..get|
|00003840| 5f 73 74 72 75 63 74 75 | 72 65 20 20 2f 2f 32 2c |_structu|re //2,|
|00003850| 58 31 2c 32 0a 09 75 6e | 69 66 79 5f 76 61 72 69 |X1,2..un|ify_vari|
|00003860| 61 62 6c 65 5f 78 20 20 | 58 31 0a 09 75 6e 69 66 |able_x |X1..unif|
|00003870| 79 5f 63 6f 6e 73 74 61 | 6e 74 20 20 78 0a 09 67 |y_consta|nt x..g|
|00003880| 65 74 5f 73 74 72 75 63 | 74 75 72 65 20 20 2f 2f |et_struc|ture //|
|00003890| 32 2c 58 31 2c 32 0a 09 | 75 6e 69 66 79 5f 76 61 |2,X1,2..|unify_va|
|000038a0| 72 69 61 62 6c 65 5f 78 | 20 20 58 31 0a 09 75 6e |riable_x| X1..un|
|000038b0| 69 66 79 5f 63 6f 6e 73 | 74 61 6e 74 20 20 78 0a |ify_cons|tant x.|
|000038c0| 09 67 65 74 5f 73 74 72 | 75 63 74 75 72 65 20 20 |.get_str|ucture |
|000038d0| 2f 2f 32 2c 58 31 2c 32 | 0a 09 75 6e 69 66 79 5f |//2,X1,2|..unify_|
|000038e0| 76 61 72 69 61 62 6c 65 | 5f 78 20 20 58 31 0a 09 |variable|_x X1..|
|000038f0| 75 6e 69 66 79 5f 63 6f | 6e 73 74 61 6e 74 20 20 |unify_co|nstant |
|00003900| 78 0a 09 67 65 74 5f 73 | 74 72 75 63 74 75 72 65 |x..get_s|tructure|
|00003910| 20 20 2f 2f 32 2c 58 31 | 2c 32 0a 09 75 6e 69 66 | //2,X1|,2..unif|
|00003920| 79 5f 63 6f 6e 73 74 61 | 6e 74 20 20 78 0a 09 75 |y_consta|nt x..u|
|00003930| 6e 69 66 79 5f 63 6f 6e | 73 74 61 6e 74 20 20 78 |nify_con|stant x|
|00003940| 0a 09 70 72 6f 63 65 65 | 64 0a 0a 0a 70 72 6f 63 |..procee|d...proc|
|00003950| 65 64 75 72 65 20 20 6c | 6f 67 31 30 2f 31 0a 0a |edure l|og10/1..|
|00003960| 5f 39 36 36 37 3a 0a 09 | 67 65 74 5f 73 74 72 75 |_9667:..|get_stru|
|00003970| 63 74 75 72 65 20 20 6c | 6f 67 2f 31 2c 58 31 2c |cture l|og/1,X1,|
|00003980| 31 0a 09 75 6e 69 66 79 | 5f 76 61 72 69 61 62 6c |1..unify|_variabl|
|00003990| 65 5f 78 20 20 58 31 0a | 09 67 65 74 5f 73 74 72 |e_x X1.|.get_str|
|000039a0| 75 63 74 75 72 65 20 20 | 6c 6f 67 2f 31 2c 58 31 |ucture |log/1,X1|
|000039b0| 2c 31 0a 09 75 6e 69 66 | 79 5f 76 61 72 69 61 62 |,1..unif|y_variab|
|000039c0| 6c 65 5f 78 20 20 58 31 | 0a 09 67 65 74 5f 73 74 |le_x X1|..get_st|
|000039d0| 72 75 63 74 75 72 65 20 | 20 6c 6f 67 2f 31 2c 58 |ructure | log/1,X|
|000039e0| 31 2c 31 0a 09 75 6e 69 | 66 79 5f 76 61 72 69 61 |1,1..uni|fy_varia|
|000039f0| 62 6c 65 5f 78 20 20 58 | 31 0a 09 67 65 74 5f 73 |ble_x X|1..get_s|
|00003a00| 74 72 75 63 74 75 72 65 | 20 20 6c 6f 67 2f 31 2c |tructure| log/1,|
|00003a10| 58 31 2c 31 0a 09 75 6e | 69 66 79 5f 76 61 72 69 |X1,1..un|ify_vari|
|00003a20| 61 62 6c 65 5f 78 20 20 | 58 31 0a 09 67 65 74 5f |able_x |X1..get_|
|00003a30| 73 74 72 75 63 74 75 72 | 65 20 20 6c 6f 67 2f 31 |structur|e log/1|
|00003a40| 2c 58 31 2c 31 0a 09 75 | 6e 69 66 79 5f 76 61 72 |,X1,1..u|nify_var|
|00003a50| 69 61 62 6c 65 5f 78 20 | 20 58 31 0a 09 67 65 74 |iable_x | X1..get|
|00003a60| 5f 73 74 72 75 63 74 75 | 72 65 20 20 6c 6f 67 2f |_structu|re log/|
|00003a70| 31 2c 58 31 2c 31 0a 09 | 75 6e 69 66 79 5f 76 61 |1,X1,1..|unify_va|
|00003a80| 72 69 61 62 6c 65 5f 78 | 20 20 58 31 0a 09 67 65 |riable_x| X1..ge|
|00003a90| 74 5f 73 74 72 75 63 74 | 75 72 65 20 20 6c 6f 67 |t_struct|ure log|
|00003aa0| 2f 31 2c 58 31 2c 31 0a | 09 75 6e 69 66 79 5f 76 |/1,X1,1.|.unify_v|
|00003ab0| 61 72 69 61 62 6c 65 5f | 78 20 20 58 31 0a 09 67 |ariable_|x X1..g|
|00003ac0| 65 74 5f 73 74 72 75 63 | 74 75 72 65 20 20 6c 6f |et_struc|ture lo|
|00003ad0| 67 2f 31 2c 58 31 2c 31 | 0a 09 75 6e 69 66 79 5f |g/1,X1,1|..unify_|
|00003ae0| 76 61 72 69 61 62 6c 65 | 5f 78 20 20 58 31 0a 09 |variable|_x X1..|
|00003af0| 67 65 74 5f 73 74 72 75 | 63 74 75 72 65 20 20 6c |get_stru|cture l|
|00003b00| 6f 67 2f 31 2c 58 31 2c | 31 0a 09 75 6e 69 66 79 |og/1,X1,|1..unify|
|00003b10| 5f 76 61 72 69 61 62 6c | 65 5f 78 20 20 58 31 0a |_variabl|e_x X1.|
|00003b20| 09 67 65 74 5f 73 74 72 | 75 63 74 75 72 65 20 20 |.get_str|ucture |
|00003b30| 6c 6f 67 2f 31 2c 58 31 | 2c 31 0a 09 75 6e 69 66 |log/1,X1|,1..unif|
|00003b40| 79 5f 63 6f 6e 73 74 61 | 6e 74 20 20 78 0a 09 70 |y_consta|nt x..p|
|00003b50| 72 6f 63 65 65 64 0a 0a | 0a 70 72 6f 63 65 64 75 |roceed..|.procedu|
|00003b60| 72 65 20 20 6f 70 73 38 | 2f 31 0a 0a 5f 31 30 32 |re ops8|/1.._102|
|00003b70| 34 36 3a 0a 09 67 65 74 | 5f 73 74 72 75 63 74 75 |46:..get|_structu|
|00003b80| 72 65 20 20 2a 2f 32 2c | 58 31 2c 32 0a 09 75 6e |re */2,|X1,2..un|
|00003b90| 69 66 79 5f 76 61 72 69 | 61 62 6c 65 5f 78 20 20 |ify_vari|able_x |
|00003ba0| 58 31 0a 09 75 6e 69 66 | 79 5f 76 61 72 69 61 62 |X1..unif|y_variab|
|00003bb0| 6c 65 5f 78 20 20 58 32 | 0a 09 67 65 74 5f 73 74 |le_x X2|..get_st|
|00003bc0| 72 75 63 74 75 72 65 20 | 20 2b 2f 32 2c 58 31 2c |ructure | +/2,X1,|
|00003bd0| 32 0a 09 75 6e 69 66 79 | 5f 63 6f 6e 73 74 61 6e |2..unify|_constan|
|00003be0| 74 20 20 78 0a 09 75 6e | 69 66 79 5f 63 6f 6e 73 |t x..un|ify_cons|
|00003bf0| 74 61 6e 74 20 20 26 31 | 0a 09 67 65 74 5f 73 74 |tant &1|..get_st|
|00003c00| 72 75 63 74 75 72 65 20 | 20 2a 2f 32 2c 58 32 2c |ructure | */2,X2,|
|00003c10| 32 0a 09 75 6e 69 66 79 | 5f 76 61 72 69 61 62 6c |2..unify|_variabl|
|00003c20| 65 5f 78 20 20 58 31 0a | 09 75 6e 69 66 79 5f 76 |e_x X1.|.unify_v|
|00003c30| 61 72 69 61 62 6c 65 5f | 78 20 20 58 32 0a 09 67 |ariable_|x X2..g|
|00003c40| 65 74 5f 73 74 72 75 63 | 74 75 72 65 20 20 2b 2f |et_struc|ture +/|
|00003c50| 32 2c 58 31 2c 32 0a 09 | 75 6e 69 66 79 5f 76 61 |2,X1,2..|unify_va|
|00003c60| 72 69 61 62 6c 65 5f 78 | 20 20 58 31 0a 09 75 6e |riable_x| X1..un|
|00003c70| 69 66 79 5f 63 6f 6e 73 | 74 61 6e 74 20 20 26 32 |ify_cons|tant &2|
|00003c80| 0a 09 67 65 74 5f 73 74 | 72 75 63 74 75 72 65 20 |..get_st|ructure |
|00003c90| 20 5e 2f 32 2c 58 31 2c | 32 0a 09 75 6e 69 66 79 | ^/2,X1,|2..unify|
|00003ca0| 5f 63 6f 6e 73 74 61 6e | 74 20 20 78 0a 09 75 6e |_constan|t x..un|
|00003cb0| 69 66 79 5f 63 6f 6e 73 | 74 61 6e 74 20 20 26 32 |ify_cons|tant &2|
|00003cc0| 0a 09 67 65 74 5f 73 74 | 72 75 63 74 75 72 65 20 |..get_st|ructure |
|00003cd0| 20 2b 2f 32 2c 58 32 2c | 32 0a 09 75 6e 69 66 79 | +/2,X2,|2..unify|
|00003ce0| 5f 76 61 72 69 61 62 6c | 65 5f 78 20 20 58 31 0a |_variabl|e_x X1.|
|00003cf0| 09 75 6e 69 66 79 5f 63 | 6f 6e 73 74 61 6e 74 20 |.unify_c|onstant |
|00003d00| 20 26 33 0a 09 67 65 74 | 5f 73 74 72 75 63 74 75 | &3..get|_structu|
|00003d10| 72 65 20 20 5e 2f 32 2c | 58 31 2c 32 0a 09 75 6e |re ^/2,|X1,2..un|
|00003d20| 69 66 79 5f 63 6f 6e 73 | 74 61 6e 74 20 20 78 0a |ify_cons|tant x.|
|00003d30| 09 75 6e 69 66 79 5f 63 | 6f 6e 73 74 61 6e 74 20 |.unify_c|onstant |
|00003d40| 20 26 33 0a 09 70 72 6f | 63 65 65 64 0a 0a 0a 45 | &3..pro|ceed...E|
|00003d50| 4f 46 2e 73 68 61 72 0a | 65 63 68 6f 20 65 78 74 |OF.shar.|echo ext|
|00003d60| 72 61 63 74 69 6e 67 20 | 68 61 6e 6f 69 2e 77 0a |racting |hanoi.w.|
|00003d70| 63 61 74 20 3e 20 68 61 | 6e 6f 69 2e 77 20 3c 3c |cat > ha|noi.w <<|
|00003d80| 20 27 45 4f 46 2e 73 68 | 61 72 27 0a 70 72 6f 63 | 'EOF.sh|ar'.proc|
|00003d90| 65 64 75 72 65 20 20 6d | 61 69 6e 2f 30 0a 0a 5f |edure m|ain/0.._|
|00003da0| 34 34 36 3a 0a 09 70 75 | 74 5f 63 6f 6e 73 74 61 |446:..pu|t_consta|
|00003db0| 6e 74 20 20 26 38 2c 58 | 31 0a 09 65 78 65 63 75 |nt &8,X|1..execu|
|00003dc0| 74 65 5f 70 72 6f 63 20 | 20 68 61 6e 6f 69 2f 31 |te_proc | hanoi/1|
|00003dd0| 0a 0a 0a 70 72 6f 63 65 | 64 75 72 65 20 20 68 61 |...proce|dure ha|
|00003de0| 6e 6f 69 2f 31 0a 0a 5f | 37 39 33 3a 0a 09 70 75 |noi/1.._|793:..pu|
|00003df0| 74 5f 63 6f 6e 73 74 61 | 6e 74 20 20 6c 65 66 74 |t_consta|nt left|
|00003e00| 2c 58 32 0a 09 70 75 74 | 5f 63 6f 6e 73 74 61 6e |,X2..put|_constan|
|00003e10| 74 20 20 63 65 6e 74 65 | 72 2c 58 33 0a 09 70 75 |t cente|r,X3..pu|
|00003e20| 74 5f 63 6f 6e 73 74 61 | 6e 74 20 20 72 69 67 68 |t_consta|nt righ|
|00003e30| 74 2c 58 34 0a 09 65 78 | 65 63 75 74 65 5f 70 72 |t,X4..ex|ecute_pr|
|00003e40| 6f 63 20 20 6d 6f 76 65 | 2f 34 0a 0a 0a 70 72 6f |oc move|/4...pro|
|00003e50| 63 65 64 75 72 65 20 20 | 6d 6f 76 65 2f 34 0a 0a |cedure |move/4..|
|00003e60| 09 73 77 69 74 63 68 5f | 6f 6e 5f 74 65 72 6d 20 |.switch_|on_term |
|00003e70| 20 5f 31 37 35 36 2c 5f | 31 37 35 37 2c 5f 31 37 | _1756,_|1757,_17|
|00003e80| 35 37 0a 5f 31 37 35 36 | 3a 0a 09 74 72 79 5f 6d |57._1756|:..try_m|
|00003e90| 65 5f 65 6c 73 65 20 20 | 5f 31 37 36 37 2c 34 0a |e_else |_1767,4.|
|00003ea0| 5f 31 37 37 31 3a 0a 09 | 67 65 74 5f 63 6f 6e 73 |_1771:..|get_cons|
|00003eb0| 74 61 6e 74 20 20 26 30 | 2c 58 31 0a 09 63 75 74 |tant &0|,X1..cut|
|00003ec0| 0a 09 70 72 6f 63 65 65 | 64 0a 5f 31 37 36 37 3a |..procee|d._1767:|
|00003ed0| 0a 09 74 72 75 73 74 5f | 6d 65 5f 65 6c 73 65 20 |..trust_|me_else |
|00003ee0| 20 66 61 69 6c 0a 5f 31 | 37 35 37 3a 0a 09 67 65 | fail._1|757:..ge|
|00003ef0| 74 5f 76 61 72 69 61 62 | 6c 65 5f 78 20 20 58 35 |t_variab|le_x X5|
|00003f00| 2c 58 31 0a 09 67 65 74 | 5f 76 61 72 69 61 62 6c |,X1..get|_variabl|
|00003f10| 65 5f 79 20 20 59 31 2c | 58 32 0a 09 67 65 74 5f |e_y Y1,|X2..get_|
|00003f20| 76 61 72 69 61 62 6c 65 | 5f 79 20 20 59 32 2c 58 |variable|_y Y2,X|
|00003f30| 33 0a 09 67 65 74 5f 76 | 61 72 69 61 62 6c 65 5f |3..get_v|ariable_|
|00003f40| 79 20 20 59 33 2c 58 34 | 0a 09 70 75 74 5f 76 61 |y Y3,X4|..put_va|
|00003f50| 72 69 61 62 6c 65 5f 79 | 20 20 59 34 2c 58 31 0a |riable_y| Y4,X1.|
|00003f60| 09 70 75 74 5f 76 61 6c | 75 65 5f 78 20 20 58 35 |.put_val|ue_x X5|
|00003f70| 2c 58 32 0a 09 70 75 74 | 5f 63 6f 6e 73 74 61 6e |,X2..put|_constan|
|00003f80| 74 20 20 2d 2c 58 33 0a | 09 70 75 74 5f 63 6f 6e |t -,X3.|.put_con|
|00003f90| 73 74 61 6e 74 20 20 26 | 31 2c 58 34 0a 09 65 73 |stant &|1,X4..es|
|00003fa0| 63 61 70 65 20 20 69 73 | 2f 34 0a 09 70 75 74 5f |cape is|/4..put_|
|00003fb0| 76 61 6c 75 65 5f 79 20 | 20 59 34 2c 58 31 0a 09 |value_y | Y4,X1..|
|00003fc0| 70 75 74 5f 76 61 6c 75 | 65 5f 79 20 20 59 31 2c |put_valu|e_y Y1,|
|00003fd0| 58 32 0a 09 70 75 74 5f | 76 61 6c 75 65 5f 79 20 |X2..put_|value_y |
|00003fe0| 20 59 33 2c 58 33 0a 09 | 70 75 74 5f 76 61 6c 75 | Y3,X3..|put_valu|
|00003ff0| 65 5f 79 20 20 59 32 2c | 58 34 0a 09 63 61 6c 6c |e_y Y2,|X4..call|
|00004000| 20 20 6d 6f 76 65 2f 34 | 2c 34 0a 09 70 75 74 5f | move/4|,4..put_|
|00004010| 76 61 6c 75 65 5f 79 20 | 20 59 31 2c 58 31 0a 09 |value_y | Y1,X1..|
|00004020| 70 75 74 5f 76 61 6c 75 | 65 5f 79 20 20 59 32 2c |put_valu|e_y Y2,|
|00004030| 58 32 0a 09 63 61 6c 6c | 20 20 69 6e 66 6f 72 6d |X2..call| inform|
|00004040| 2f 32 2c 34 0a 09 70 75 | 74 5f 75 6e 73 61 66 65 |/2,4..pu|t_unsafe|
|00004050| 5f 76 61 6c 75 65 20 20 | 59 34 2c 58 31 0a 09 70 |_value |Y4,X1..p|
|00004060| 75 74 5f 76 61 6c 75 65 | 5f 79 20 20 59 33 2c 58 |ut_value|_y Y3,X|
|00004070| 32 0a 09 70 75 74 5f 76 | 61 6c 75 65 5f 79 20 20 |2..put_v|alue_y |
|00004080| 59 32 2c 58 33 0a 09 70 | 75 74 5f 76 61 6c 75 65 |Y2,X3..p|ut_value|
|00004090| 5f 79 20 20 59 31 2c 58 | 34 0a 09 65 78 65 63 75 |_y Y1,X|4..execu|
|000040a0| 74 65 5f 70 72 6f 63 20 | 20 6d 6f 76 65 2f 34 0a |te_proc | move/4.|
|000040b0| 0a 0a 70 72 6f 63 65 64 | 75 72 65 20 20 69 6e 66 |..proced|ure inf|
|000040c0| 6f 72 6d 2f 32 0a 0a 5f | 32 36 31 31 3a 0a 09 74 |orm/2.._|2611:..t|
|000040d0| 72 79 5f 6d 65 5f 65 6c | 73 65 20 20 5f 32 36 31 |ry_me_el|se _261|
|000040e0| 36 2c 32 0a 5f 32 36 32 | 30 3a 0a 09 70 75 74 5f |6,2._262|0:..put_|
|000040f0| 6c 69 73 74 20 20 58 33 | 0a 09 75 6e 69 66 79 5f |list X3|..unify_|
|00004100| 63 6f 6e 73 74 61 6e 74 | 5f 77 72 69 74 65 20 20 |constant|_write |
|00004110| 6d 6f 76 65 0a 09 67 65 | 74 5f 63 64 72 5f 6c 69 |move..ge|t_cdr_li|
|00004120| 73 74 5f 77 72 69 74 65 | 0a 09 75 6e 69 66 79 5f |st_write|..unify_|
|00004130| 63 6f 6e 73 74 61 6e 74 | 5f 77 72 69 74 65 20 20 |constant|_write |
|00004140| 64 69 73 6b 0a 09 67 65 | 74 5f 63 64 72 5f 6c 69 |disk..ge|t_cdr_li|
|00004150| 73 74 5f 77 72 69 74 65 | 0a 09 75 6e 69 66 79 5f |st_write|..unify_|
|00004160| 63 6f 6e 73 74 61 6e 74 | 5f 77 72 69 74 65 20 20 |constant|_write |
|00004170| 66 72 6f 6d 0a 09 67 65 | 74 5f 63 64 72 5f 6c 69 |from..ge|t_cdr_li|
|00004180| 73 74 5f 77 72 69 74 65 | 0a 09 75 6e 69 66 79 5f |st_write|..unify_|
|00004190| 76 61 6c 75 65 5f 77 72 | 69 74 65 5f 78 20 20 58 |value_wr|ite_x X|
|000041a0| 31 0a 09 67 65 74 5f 63 | 64 72 5f 6c 69 73 74 5f |1..get_c|dr_list_|
|000041b0| 77 72 69 74 65 0a 09 75 | 6e 69 66 79 5f 63 6f 6e |write..u|nify_con|
|000041c0| 73 74 61 6e 74 5f 77 72 | 69 74 65 20 20 74 6f 0a |stant_wr|ite to.|
|000041d0| 09 67 65 74 5f 63 64 72 | 5f 6c 69 73 74 5f 77 72 |.get_cdr|_list_wr|
|000041e0| 69 74 65 0a 09 75 6e 69 | 66 79 5f 76 61 6c 75 65 |ite..uni|fy_value|
|000041f0| 5f 77 72 69 74 65 5f 78 | 20 20 58 32 0a 09 75 6e |_write_x| X2..un|
|00004200| 69 66 79 5f 6e 69 6c 5f | 77 72 69 74 65 0a 09 70 |ify_nil_|write..p|
|00004210| 75 74 5f 76 61 6c 75 65 | 5f 78 20 20 58 33 2c 58 |ut_value|_x X3,X|
|00004220| 31 0a 09 65 73 63 61 70 | 65 20 20 77 72 69 74 65 |1..escap|e write|
|00004230| 2f 31 0a 09 65 73 63 61 | 70 65 20 20 6e 6c 2f 30 |/1..esca|pe nl/0|
|00004240| 0a 09 66 61 69 6c 0a 5f | 32 36 31 36 3a 0a 09 74 |..fail._|2616:..t|
|00004250| 72 75 73 74 5f 6d 65 5f | 65 6c 73 65 20 20 66 61 |rust_me_|else fa|
|00004260| 69 6c 0a 5f 32 37 32 38 | 3a 0a 09 70 72 6f 63 65 |il._2728|:..proce|
|00004270| 65 64 0a 0a 0a 45 4f 46 | 2e 73 68 61 72 0a 65 63 |ed...EOF|.shar.ec|
|00004280| 68 6f 20 65 78 74 72 61 | 63 74 69 6e 67 20 6d 75 |ho extra|cting mu|
|00004290| 6d 61 74 68 2e 77 0a 63 | 61 74 20 3e 20 6d 75 6d |math.w.c|at > mum|
|000042a0| 61 74 68 2e 77 20 3c 3c | 20 27 45 4f 46 2e 73 68 |ath.w <<| 'EOF.sh|
|000042b0| 61 72 27 0a 70 72 6f 63 | 65 64 75 72 65 20 20 6d |ar'.proc|edure m|
|000042c0| 61 69 6e 2f 30 0a 0a 5f | 35 33 39 3a 0a 09 70 75 |ain/0.._|539:..pu|
|000042d0| 74 5f 6c 69 73 74 20 20 | 58 32 0a 09 75 6e 69 66 |t_list |X2..unif|
|000042e0| 79 5f 63 6f 6e 73 74 61 | 6e 74 5f 77 72 69 74 65 |y_consta|nt_write|
|000042f0| 20 20 6d 0a 09 67 65 74 | 5f 63 64 72 5f 6c 69 73 | m..get|_cdr_lis|
|00004300| 74 5f 77 72 69 74 65 0a | 09 75 6e 69 66 79 5f 63 |t_write.|.unify_c|
|00004310| 6f 6e 73 74 61 6e 74 5f | 77 72 69 74 65 20 20 75 |onstant_|write u|
|00004320| 0a 09 67 65 74 5f 63 64 | 72 5f 6c 69 73 74 5f 77 |..get_cd|r_list_w|
|00004330| 72 69 74 65 0a 09 75 6e | 69 66 79 5f 63 6f 6e 73 |rite..un|ify_cons|
|00004340| 74 61 6e 74 5f 77 72 69 | 74 65 20 20 69 0a 09 67 |tant_wri|te i..g|
|00004350| 65 74 5f 63 64 72 5f 6c | 69 73 74 5f 77 72 69 74 |et_cdr_l|ist_writ|
|00004360| 65 0a 09 75 6e 69 66 79 | 5f 63 6f 6e 73 74 61 6e |e..unify|_constan|
|00004370| 74 5f 77 72 69 74 65 20 | 20 69 0a 09 67 65 74 5f |t_write | i..get_|
|00004380| 63 64 72 5f 6c 69 73 74 | 5f 77 72 69 74 65 0a 09 |cdr_list|_write..|
|00004390| 75 6e 69 66 79 5f 63 6f | 6e 73 74 61 6e 74 5f 77 |unify_co|nstant_w|
|000043a0| 72 69 74 65 20 20 75 0a | 09 75 6e 69 66 79 5f 6e |rite u.|.unify_n|
|000043b0| 69 6c 5f 77 72 69 74 65 | 0a 09 70 75 74 5f 63 6f |il_write|..put_co|
|000043c0| 6e 73 74 61 6e 74 20 20 | 26 35 2c 58 31 0a 09 65 |nstant |&5,X1..e|
|000043d0| 78 65 63 75 74 65 5f 70 | 72 6f 63 20 20 74 68 65 |xecute_p|roc the|
|000043e0| 6f 72 65 6d 2f 32 0a 0a | 0a 70 72 6f 63 65 64 75 |orem/2..|.procedu|
|000043f0| 72 65 20 20 72 75 6c 65 | 73 2f 32 0a 0a 5f 31 36 |re rule|s/2.._16|
|00004400| 36 39 3a 0a 09 74 72 79 | 5f 6d 65 5f 65 6c 73 65 |69:..try|_me_else|
|00004410| 20 20 5f 31 36 37 34 2c | 32 0a 5f 31 36 37 38 3a | _1674,|2._1678:|
|00004420| 0a 09 65 78 65 63 75 74 | 65 5f 70 72 6f 63 20 20 |..execut|e_proc |
|00004430| 72 75 6c 65 33 2f 32 0a | 5f 31 36 37 34 3a 0a 09 |rule3/2.|_1674:..|
|00004440| 72 65 74 72 79 5f 6d 65 | 5f 65 6c 73 65 20 20 5f |retry_me|_else _|
|00004450| 31 36 39 31 0a 5f 31 36 | 39 35 3a 0a 09 65 78 65 |1691._16|95:..exe|
|00004460| 63 75 74 65 5f 70 72 6f | 63 20 20 72 75 6c 65 34 |cute_pro|c rule4|
|00004470| 2f 32 0a 5f 31 36 39 31 | 3a 0a 09 72 65 74 72 79 |/2._1691|:..retry|
|00004480| 5f 6d 65 5f 65 6c 73 65 | 20 20 5f 31 37 30 38 0a |_me_else| _1708.|
|00004490| 5f 31 37 31 32 3a 0a 09 | 65 78 65 63 75 74 65 5f |_1712:..|execute_|
|000044a0| 70 72 6f 63 20 20 72 75 | 6c 65 31 2f 32 0a 5f 31 |proc ru|le1/2._1|
|000044b0| 37 30 38 3a 0a 09 74 72 | 75 73 74 5f 6d 65 5f 65 |708:..tr|ust_me_e|
|000044c0| 6c 73 65 20 20 66 61 69 | 6c 0a 5f 31 37 32 39 3a |lse fai|l._1729:|
|000044d0| 0a 09 65 78 65 63 75 74 | 65 5f 70 72 6f 63 20 20 |..execut|e_proc |
|000044e0| 72 75 6c 65 32 2f 32 0a | 0a 0a 70 72 6f 63 65 64 |rule2/2.|..proced|
|000044f0| 75 72 65 20 20 72 75 6c | 65 31 2f 32 0a 0a 5f 32 |ure rul|e1/2.._2|
|00004500| 32 33 34 3a 0a 09 67 65 | 74 5f 76 61 72 69 61 62 |234:..ge|t_variab|
|00004510| 6c 65 5f 78 20 20 58 33 | 2c 58 31 0a 09 67 65 74 |le_x X3|,X1..get|
|00004520| 5f 76 61 72 69 61 62 6c | 65 5f 79 20 20 59 31 2c |_variabl|e_y Y1,|
|00004530| 58 32 0a 09 70 75 74 5f | 6c 69 73 74 20 20 58 32 |X2..put_|list X2|
|00004540| 0a 09 75 6e 69 66 79 5f | 63 6f 6e 73 74 61 6e 74 |..unify_|constant|
|00004550| 5f 77 72 69 74 65 20 20 | 69 0a 09 75 6e 69 66 79 |_write |i..unify|
|00004560| 5f 6e 69 6c 5f 77 72 69 | 74 65 0a 09 70 75 74 5f |_nil_wri|te..put_|
|00004570| 76 61 72 69 61 62 6c 65 | 5f 79 20 20 59 32 2c 58 |variable|_y Y2,X|
|00004580| 31 0a 09 63 61 6c 6c 20 | 20 61 70 70 65 6e 64 2f |1..call | append/|
|00004590| 33 2c 32 0a 09 70 75 74 | 5f 6c 69 73 74 20 20 58 |3,2..put|_list X|
|000045a0| 32 0a 09 75 6e 69 66 79 | 5f 63 6f 6e 73 74 61 6e |2..unify|_constan|
|000045b0| 74 5f 77 72 69 74 65 20 | 20 69 0a 09 67 65 74 5f |t_write | i..get_|
|000045c0| 63 64 72 5f 6c 69 73 74 | 5f 77 72 69 74 65 0a 09 |cdr_list|_write..|
|000045d0| 75 6e 69 66 79 5f 63 6f | 6e 73 74 61 6e 74 5f 77 |unify_co|nstant_w|
|000045e0| 72 69 74 65 20 20 75 0a | 09 75 6e 69 66 79 5f 6e |rite u.|.unify_n|
|000045f0| 69 6c 5f 77 72 69 74 65 | 0a 09 70 75 74 5f 75 6e |il_write|..put_un|
|00004600| 73 61 66 65 5f 76 61 6c | 75 65 20 20 59 32 2c 58 |safe_val|ue Y2,X|
|00004610| 31 0a 09 70 75 74 5f 76 | 61 6c 75 65 5f 79 20 20 |1..put_v|alue_y |
|00004620| 59 31 2c 58 33 0a 09 65 | 78 65 63 75 74 65 5f 70 |Y1,X3..e|xecute_p|
|00004630| 72 6f 63 20 20 61 70 70 | 65 6e 64 2f 33 0a 0a 0a |roc app|end/3...|
|00004640| 70 72 6f 63 65 64 75 72 | 65 20 20 72 75 6c 65 32 |procedur|e rule2|
|00004650| 2f 32 0a 0a 5f 32 37 31 | 37 3a 0a 09 67 65 74 5f |/2.._271|7:..get_|
|00004660| 6c 69 73 74 20 20 58 31 | 0a 09 75 6e 69 66 79 5f |list X1|..unify_|
|00004670| 63 6f 6e 73 74 61 6e 74 | 20 20 6d 0a 09 75 6e 69 |constant| m..uni|
|00004680| 66 79 5f 76 61 72 69 61 | 62 6c 65 5f 78 20 20 58 |fy_varia|ble_x X|
|00004690| 31 0a 09 67 65 74 5f 6c | 69 73 74 20 20 58 32 0a |1..get_l|ist X2.|
|000046a0| 09 75 6e 69 66 79 5f 63 | 6f 6e 73 74 61 6e 74 20 |.unify_c|onstant |
|000046b0| 20 6d 0a 09 75 6e 69 66 | 79 5f 76 61 72 69 61 62 | m..unif|y_variab|
|000046c0| 6c 65 5f 78 20 20 58 33 | 0a 09 70 75 74 5f 76 61 |le_x X3|..put_va|
|000046d0| 6c 75 65 5f 78 20 20 58 | 31 2c 58 32 0a 09 65 78 |lue_x X|1,X2..ex|
|000046e0| 65 63 75 74 65 5f 70 72 | 6f 63 20 20 61 70 70 65 |ecute_pr|oc appe|
|000046f0| 6e 64 2f 33 0a 0a 0a 70 | 72 6f 63 65 64 75 72 65 |nd/3...p|rocedure|
|00004700| 20 20 72 75 6c 65 33 2f | 32 0a 0a 09 73 77 69 74 | rule3/|2...swit|
|00004710| 63 68 5f 6f 6e 5f 74 65 | 72 6d 20 20 5f 33 36 35 |ch_on_te|rm _365|
|00004720| 38 2c 5f 33 36 35 39 2c | 5f 33 36 36 30 0a 5f 33 |8,_3659,|_3660._3|
|00004730| 36 36 34 3a 0a 09 74 72 | 79 5f 6d 65 5f 65 6c 73 |664:..tr|y_me_els|
|00004740| 65 20 20 5f 33 36 36 39 | 2c 32 0a 5f 33 36 37 33 |e _3669|,2._3673|
|00004750| 3a 0a 09 67 65 74 5f 63 | 6f 6e 73 74 61 6e 74 20 |:..get_c|onstant |
|00004760| 20 2d 2c 58 32 0a 09 67 | 65 74 5f 6e 69 6c 20 20 | -,X2..g|et_nil |
|00004770| 58 31 0a 09 66 61 69 6c | 0a 5f 33 36 36 39 3a 0a |X1..fail|._3669:.|
|00004780| 09 72 65 74 72 79 5f 6d | 65 5f 65 6c 73 65 20 20 |.retry_m|e_else |
|00004790| 5f 33 37 30 31 0a 5f 33 | 36 36 30 3a 0a 09 67 65 |_3701._3|660:..ge|
|000047a0| 74 5f 76 61 72 69 61 62 | 6c 65 5f 78 20 20 58 33 |t_variab|le_x X3|
|000047b0| 2c 58 31 0a 09 67 65 74 | 5f 76 61 72 69 61 62 6c |,X1..get|_variabl|
|000047c0| 65 5f 79 20 20 59 31 2c | 58 32 0a 09 70 75 74 5f |e_y Y1,|X2..put_|
|000047d0| 6c 69 73 74 20 20 58 31 | 0a 09 75 6e 69 66 79 5f |list X1|..unify_|
|000047e0| 63 6f 6e 73 74 61 6e 74 | 5f 77 72 69 74 65 20 20 |constant|_write |
|000047f0| 69 0a 09 67 65 74 5f 63 | 64 72 5f 6c 69 73 74 5f |i..get_c|dr_list_|
|00004800| 77 72 69 74 65 0a 09 75 | 6e 69 66 79 5f 63 6f 6e |write..u|nify_con|
|00004810| 73 74 61 6e 74 5f 77 72 | 69 74 65 20 20 69 0a 09 |stant_wr|ite i..|
|00004820| 67 65 74 5f 63 64 72 5f | 6c 69 73 74 5f 77 72 69 |get_cdr_|list_wri|
|00004830| 74 65 0a 09 75 6e 69 66 | 79 5f 63 6f 6e 73 74 61 |te..unif|y_consta|
|00004840| 6e 74 5f 77 72 69 74 65 | 20 20 69 0a 09 75 6e 69 |nt_write| i..uni|
|00004850| 66 79 5f 6e 69 6c 5f 77 | 72 69 74 65 0a 09 70 75 |fy_nil_w|rite..pu|
|00004860| 74 5f 76 61 72 69 61 62 | 6c 65 5f 79 20 20 59 32 |t_variab|le_y Y2|
|00004870| 2c 58 32 0a 09 63 61 6c | 6c 20 20 61 70 70 65 6e |,X2..cal|l appen|
|00004880| 64 2f 33 2c 32 0a 09 70 | 75 74 5f 6c 69 73 74 20 |d/3,2..p|ut_list |
|00004890| 20 58 31 0a 09 75 6e 69 | 66 79 5f 63 6f 6e 73 74 | X1..uni|fy_const|
|000048a0| 61 6e 74 5f 77 72 69 74 | 65 20 20 75 0a 09 75 6e |ant_writ|e u..un|
|000048b0| 69 66 79 5f 6e 69 6c 5f | 77 72 69 74 65 0a 09 70 |ify_nil_|write..p|
|000048c0| 75 74 5f 75 6e 73 61 66 | 65 5f 76 61 6c 75 65 20 |ut_unsaf|e_value |
|000048d0| 20 59 32 2c 58 32 0a 09 | 70 75 74 5f 76 61 6c 75 | Y2,X2..|put_valu|
|000048e0| 65 5f 79 20 20 59 31 2c | 58 33 0a 09 65 78 65 63 |e_y Y1,|X3..exec|
|000048f0| 75 74 65 5f 70 72 6f 63 | 20 20 61 70 70 65 6e 64 |ute_proc| append|
|00004900| 2f 33 0a 5f 33 37 30 31 | 3a 0a 09 74 72 75 73 74 |/3._3701|:..trust|
|00004910| 5f 6d 65 5f 65 6c 73 65 | 20 20 66 61 69 6c 0a 5f |_me_else| fail._|
|00004920| 33 38 32 39 3a 0a 09 67 | 65 74 5f 6c 69 73 74 20 |3829:..g|et_list |
|00004930| 20 58 31 0a 09 75 6e 69 | 66 79 5f 76 61 72 69 61 | X1..uni|fy_varia|
|00004940| 62 6c 65 5f 78 20 20 58 | 33 0a 09 75 6e 69 66 79 |ble_x X|3..unify|
|00004950| 5f 76 61 72 69 61 62 6c | 65 5f 78 20 20 58 31 0a |_variabl|e_x X1.|
|00004960| 09 67 65 74 5f 6c 69 73 | 74 20 20 58 32 0a 09 75 |.get_lis|t X2..u|
|00004970| 6e 69 66 79 5f 76 61 6c | 75 65 5f 78 20 20 58 33 |nify_val|ue_x X3|
|00004980| 0a 09 75 6e 69 66 79 5f | 76 61 72 69 61 62 6c 65 |..unify_|variable|
|00004990| 5f 78 20 20 58 32 0a 09 | 65 78 65 63 75 74 65 5f |_x X2..|execute_|
|000049a0| 70 72 6f 63 20 20 72 75 | 6c 65 33 2f 32 0a 5f 33 |proc ru|le3/2._3|
|000049b0| 36 35 39 3a 0a 09 74 72 | 79 20 20 5f 33 36 36 30 |659:..tr|y _3660|
|000049c0| 2c 32 0a 09 74 72 75 73 | 74 20 20 5f 33 38 32 39 |,2..trus|t _3829|
|000049d0| 0a 5f 33 36 35 38 3a 0a | 09 74 72 79 20 20 5f 33 |._3658:.|.try _3|
|000049e0| 36 37 33 2c 32 0a 09 74 | 72 75 73 74 20 20 5f 33 |673,2..t|rust _3|
|000049f0| 36 36 30 0a 0a 0a 70 72 | 6f 63 65 64 75 72 65 20 |660...pr|ocedure |
|00004a00| 20 72 75 6c 65 34 2f 32 | 0a 0a 09 73 77 69 74 63 | rule4/2|...switc|
|00004a10| 68 5f 6f 6e 5f 74 65 72 | 6d 20 20 5f 34 39 31 38 |h_on_ter|m _4918|
|00004a20| 2c 5f 34 39 31 39 2c 5f | 34 39 32 30 0a 5f 34 39 |,_4919,_|4920._49|
|00004a30| 32 34 3a 0a 09 74 72 79 | 5f 6d 65 5f 65 6c 73 65 |24:..try|_me_else|
|00004a40| 20 20 5f 34 39 32 39 2c | 32 0a 5f 34 39 33 33 3a | _4929,|2._4933:|
|00004a50| 0a 09 67 65 74 5f 63 6f | 6e 73 74 61 6e 74 20 20 |..get_co|nstant |
|00004a60| 2d 2c 58 32 0a 09 67 65 | 74 5f 6e 69 6c 20 20 58 |-,X2..ge|t_nil X|
|00004a70| 31 0a 09 66 61 69 6c 0a | 5f 34 39 32 39 3a 0a 09 |1..fail.|_4929:..|
|00004a80| 72 65 74 72 79 5f 6d 65 | 5f 65 6c 73 65 20 20 5f |retry_me|_else _|
|00004a90| 34 39 36 31 0a 5f 34 39 | 32 30 3a 0a 09 67 65 74 |4961._49|20:..get|
|00004aa0| 5f 76 61 72 69 61 62 6c | 65 5f 78 20 20 58 33 2c |_variabl|e_x X3,|
|00004ab0| 58 31 0a 09 70 75 74 5f | 6c 69 73 74 20 20 58 31 |X1..put_|list X1|
|00004ac0| 0a 09 75 6e 69 66 79 5f | 63 6f 6e 73 74 61 6e 74 |..unify_|constant|
|00004ad0| 5f 77 72 69 74 65 20 20 | 75 0a 09 67 65 74 5f 63 |_write |u..get_c|
|00004ae0| 64 72 5f 6c 69 73 74 5f | 77 72 69 74 65 0a 09 75 |dr_list_|write..u|
|00004af0| 6e 69 66 79 5f 63 6f 6e | 73 74 61 6e 74 5f 77 72 |nify_con|stant_wr|
|00004b00| 69 74 65 20 20 75 0a 09 | 75 6e 69 66 79 5f 6e 69 |ite u..|unify_ni|
|00004b10| 6c 5f 77 72 69 74 65 0a | 09 65 78 65 63 75 74 65 |l_write.|.execute|
|00004b20| 5f 70 72 6f 63 20 20 61 | 70 70 65 6e 64 2f 33 0a |_proc a|ppend/3.|
|00004b30| 5f 34 39 36 31 3a 0a 09 | 74 72 75 73 74 5f 6d 65 |_4961:..|trust_me|
|00004b40| 5f 65 6c 73 65 20 20 66 | 61 69 6c 0a 5f 35 30 31 |_else f|ail._501|
|00004b50| 38 3a 0a 09 67 65 74 5f | 6c 69 73 74 20 20 58 31 |8:..get_|list X1|
|00004b60| 0a 09 75 6e 69 66 79 5f | 76 61 72 69 61 62 6c 65 |..unify_|variable|
|00004b70| 5f 78 20 20 58 33 0a 09 | 75 6e 69 66 79 5f 76 61 |_x X3..|unify_va|
|00004b80| 72 69 61 62 6c 65 5f 78 | 20 20 58 31 0a 09 67 65 |riable_x| X1..ge|
|00004b90| 74 5f 6c 69 73 74 20 20 | 58 32 0a 09 75 6e 69 66 |t_list |X2..unif|
|00004ba0| 79 5f 76 61 6c 75 65 5f | 78 20 20 58 33 0a 09 75 |y_value_|x X3..u|
|00004bb0| 6e 69 66 79 5f 76 61 72 | 69 61 62 6c 65 5f 78 20 |nify_var|iable_x |
|00004bc0| 20 58 32 0a 09 65 78 65 | 63 75 74 65 5f 70 72 6f | X2..exe|cute_pro|
|00004bd0| 63 20 20 72 75 6c 65 34 | 2f 32 0a 5f 34 39 31 39 |c rule4|/2._4919|
|00004be0| 3a 0a 09 74 72 79 20 20 | 5f 34 39 32 30 2c 32 0a |:..try |_4920,2.|
|00004bf0| 09 74 72 75 73 74 20 20 | 5f 35 30 31 38 0a 5f 34 |.trust |_5018._4|
|00004c00| 39 31 38 3a 0a 09 74 72 | 79 20 20 5f 34 39 33 33 |918:..tr|y _4933|
|00004c10| 2c 32 0a 09 74 72 75 73 | 74 20 20 5f 34 39 32 30 |,2..trus|t _4920|
|00004c20| 0a 0a 0a 70 72 6f 63 65 | 64 75 72 65 20 20 74 68 |...proce|dure th|
|00004c30| 65 6f 72 65 6d 2f 32 0a | 0a 5f 36 30 35 33 3a 0a |eorem/2.|._6053:.|
|00004c40| 09 74 72 79 5f 6d 65 5f | 65 6c 73 65 20 20 5f 36 |.try_me_|else _6|
|00004c50| 30 35 38 2c 32 0a 5f 36 | 30 36 32 3a 0a 09 67 65 |058,2._6|062:..ge|
|00004c60| 74 5f 6c 69 73 74 20 20 | 58 32 0a 09 75 6e 69 66 |t_list |X2..unif|
|00004c70| 79 5f 63 6f 6e 73 74 61 | 6e 74 20 20 6d 0a 09 67 |y_consta|nt m..g|
|00004c80| 65 74 5f 63 64 72 5f 6c | 69 73 74 0a 09 75 6e 69 |et_cdr_l|ist..uni|
|00004c90| 66 79 5f 63 6f 6e 73 74 | 61 6e 74 20 20 69 0a 09 |fy_const|ant i..|
|00004ca0| 75 6e 69 66 79 5f 6e 69 | 6c 0a 09 70 72 6f 63 65 |unify_ni|l..proce|
|00004cb0| 65 64 0a 5f 36 30 35 38 | 3a 0a 09 72 65 74 72 79 |ed._6058|:..retry|
|00004cc0| 5f 6d 65 5f 65 6c 73 65 | 20 20 5f 36 30 39 39 0a |_me_else| _6099.|
|00004cd0| 5f 36 31 30 33 3a 0a 09 | 67 65 74 5f 6e 69 6c 20 |_6103:..|get_nil |
|00004ce0| 20 58 32 0a 09 66 61 69 | 6c 0a 5f 36 30 39 39 3a | X2..fai|l._6099:|
|00004cf0| 0a 09 74 72 75 73 74 5f | 6d 65 5f 65 6c 73 65 20 |..trust_|me_else |
|00004d00| 20 66 61 69 6c 0a 5f 36 | 31 32 37 3a 0a 09 67 65 | fail._6|127:..ge|
|00004d10| 74 5f 76 61 72 69 61 62 | 6c 65 5f 78 20 20 58 33 |t_variab|le_x X3|
|00004d20| 2c 58 31 0a 09 67 65 74 | 5f 76 61 72 69 61 62 6c |,X1..get|_variabl|
|00004d30| 65 5f 79 20 20 59 31 2c | 58 32 0a 09 70 75 74 5f |e_y Y1,|X2..put_|
|00004d40| 76 61 6c 75 65 5f 78 20 | 20 58 33 2c 58 31 0a 09 |value_x | X3,X1..|
|00004d50| 70 75 74 5f 63 6f 6e 73 | 74 61 6e 74 20 20 26 30 |put_cons|tant &0|
|00004d60| 2c 58 32 0a 09 65 73 63 | 61 70 65 20 20 3e 2f 32 |,X2..esc|ape >/2|
|00004d70| 0a 09 70 75 74 5f 76 61 | 72 69 61 62 6c 65 5f 78 |..put_va|riable_x|
|00004d80| 20 20 58 31 2c 58 31 0a | 09 70 75 74 5f 76 61 6c | X1,X1.|.put_val|
|00004d90| 75 65 5f 78 20 20 58 33 | 2c 58 32 0a 09 70 75 74 |ue_x X3|,X2..put|
|00004da0| 5f 63 6f 6e 73 74 61 6e | 74 20 20 2d 2c 58 33 0a |_constan|t -,X3.|
|00004db0| 09 70 75 74 5f 63 6f 6e | 73 74 61 6e 74 20 20 26 |.put_con|stant &|
|00004dc0| 31 2c 58 34 0a 09 65 73 | 63 61 70 65 20 20 69 73 |1,X4..es|cape is|
|00004dd0| 2f 34 0a 09 70 75 74 5f | 76 61 72 69 61 62 6c 65 |/4..put_|variable|
|00004de0| 5f 79 20 20 59 32 2c 58 | 32 0a 09 63 61 6c 6c 20 |_y Y2,X|2..call |
|00004df0| 20 74 68 65 6f 72 65 6d | 2f 32 2c 32 0a 09 70 75 | theorem|/2,2..pu|
|00004e00| 74 5f 75 6e 73 61 66 65 | 5f 76 61 6c 75 65 20 20 |t_unsafe|_value |
|00004e10| 59 32 2c 58 31 0a 09 70 | 75 74 5f 76 61 6c 75 65 |Y2,X1..p|ut_value|
|00004e20| 5f 79 20 20 59 31 2c 58 | 32 0a 09 65 78 65 63 75 |_y Y1,X|2..execu|
|00004e30| 74 65 5f 70 72 6f 63 20 | 20 72 75 6c 65 73 2f 32 |te_proc | rules/2|
|00004e40| 0a 0a 0a 70 72 6f 63 65 | 64 75 72 65 20 20 61 70 |...proce|dure ap|
|00004e50| 70 65 6e 64 2f 33 0a 0a | 09 73 77 69 74 63 68 5f |pend/3..|.switch_|
|00004e60| 6f 6e 5f 74 65 72 6d 20 | 20 5f 36 39 32 31 2c 5f |on_term | _6921,_|
|00004e70| 36 39 32 32 2c 66 61 69 | 6c 0a 5f 36 39 32 37 3a |6922,fai|l._6927:|
|00004e80| 0a 09 74 72 79 5f 6d 65 | 5f 65 6c 73 65 20 20 5f |..try_me|_else _|
|00004e90| 36 39 33 32 2c 33 0a 5f | 36 39 32 31 3a 0a 09 67 |6932,3._|6921:..g|
|00004ea0| 65 74 5f 76 61 6c 75 65 | 5f 78 20 20 58 32 2c 58 |et_value|_x X2,X|
|00004eb0| 33 0a 09 67 65 74 5f 6e | 69 6c 20 20 58 31 0a 09 |3..get_n|il X1..|
|00004ec0| 70 72 6f 63 65 65 64 0a | 5f 36 39 33 32 3a 0a 09 |proceed.|_6932:..|
|00004ed0| 74 72 75 73 74 5f 6d 65 | 5f 65 6c 73 65 20 20 66 |trust_me|_else f|
|00004ee0| 61 69 6c 0a 5f 36 39 32 | 32 3a 0a 09 67 65 74 5f |ail._692|2:..get_|
|00004ef0| 6c 69 73 74 20 20 58 31 | 0a 09 75 6e 69 66 79 5f |list X1|..unify_|
|00004f00| 76 61 72 69 61 62 6c 65 | 5f 78 20 20 58 34 0a 09 |variable|_x X4..|
|00004f10| 75 6e 69 66 79 5f 76 61 | 72 69 61 62 6c 65 5f 78 |unify_va|riable_x|
|00004f20| 20 20 58 31 0a 09 67 65 | 74 5f 6c 69 73 74 20 20 | X1..ge|t_list |
|00004f30| 58 33 0a 09 75 6e 69 66 | 79 5f 76 61 6c 75 65 5f |X3..unif|y_value_|
|00004f40| 78 20 20 58 34 0a 09 75 | 6e 69 66 79 5f 76 61 72 |x X4..u|nify_var|
|00004f50| 69 61 62 6c 65 5f 78 20 | 20 58 33 0a 09 63 75 74 |iable_x | X3..cut|
|00004f60| 0a 09 65 78 65 63 75 74 | 65 5f 70 72 6f 63 20 20 |..execut|e_proc |
|00004f70| 61 70 70 65 6e 64 2f 33 | 0a 0a 0a 45 4f 46 2e 73 |append/3|...EOF.s|
|00004f80| 68 61 72 0a 65 63 68 6f | 20 65 78 74 72 61 63 74 |har.echo| extract|
|00004f90| 69 6e 67 20 6e 72 65 76 | 31 2e 77 0a 63 61 74 20 |ing nrev|1.w.cat |
|00004fa0| 3e 20 6e 72 65 76 31 2e | 77 20 3c 3c 20 27 45 4f |> nrev1.|w << 'EO|
|00004fb0| 46 2e 73 68 61 72 27 0a | 70 72 6f 63 65 64 75 72 |F.shar'.|procedur|
|00004fc0| 65 20 20 6d 61 69 6e 2f | 30 0a 0a 5f 36 39 33 3a |e main/|0.._693:|
|00004fd0| 0a 09 69 6e 69 74 20 20 | 59 31 0a 09 70 75 74 5f |..init |Y1..put_|
|00004fe0| 76 61 72 69 61 62 6c 65 | 5f 79 20 20 59 32 2c 58 |variable|_y Y2,X|
|00004ff0| 31 0a 09 63 61 6c 6c 20 | 20 6c 69 73 74 33 30 2f |1..call | list30/|
|00005000| 31 2c 32 0a 09 70 75 74 | 5f 75 6e 73 61 66 65 5f |1,2..put|_unsafe_|
|00005010| 76 61 6c 75 65 20 20 59 | 32 2c 58 31 0a 09 70 75 |value Y|2,X1..pu|
|00005020| 74 5f 76 61 72 69 61 62 | 6c 65 5f 79 20 20 59 31 |t_variab|le_y Y1|
|00005030| 2c 58 32 0a 09 63 61 6c | 6c 20 20 6e 72 65 76 65 |,X2..cal|l nreve|
|00005040| 72 73 65 2f 32 2c 31 0a | 09 70 75 74 5f 75 6e 73 |rse/2,1.|.put_uns|
|00005050| 61 66 65 5f 76 61 6c 75 | 65 20 20 59 31 2c 58 31 |afe_valu|e Y1,X1|
|00005060| 0a 09 65 73 63 61 70 65 | 20 20 77 72 69 74 65 2f |..escape| write/|
|00005070| 31 0a 09 65 73 63 61 70 | 65 20 20 6e 6c 2f 30 0a |1..escap|e nl/0.|
|00005080| 09 70 72 6f 63 65 65 64 | 0a 0a 0a 70 72 6f 63 65 |.proceed|...proce|
|00005090| 64 75 72 65 20 20 6e 72 | 65 76 65 72 73 65 2f 32 |dure nr|everse/2|
|000050a0| 0a 0a 09 73 77 69 74 63 | 68 5f 6f 6e 5f 74 65 72 |...switc|h_on_ter|
|000050b0| 6d 20 20 5f 31 33 34 35 | 2c 5f 31 33 34 36 2c 66 |m _1345|,_1346,f|
|000050c0| 61 69 6c 0a 5f 31 33 35 | 31 3a 0a 09 74 72 79 5f |ail._135|1:..try_|
|000050d0| 6d 65 5f 65 6c 73 65 20 | 20 5f 31 33 35 36 2c 32 |me_else | _1356,2|
|000050e0| 0a 5f 31 33 34 36 3a 0a | 09 67 65 74 5f 76 61 72 |._1346:.|.get_var|
|000050f0| 69 61 62 6c 65 5f 79 20 | 20 59 31 2c 58 32 0a 09 |iable_y | Y1,X2..|
|00005100| 67 65 74 5f 6c 69 73 74 | 20 20 58 31 0a 09 75 6e |get_list| X1..un|
|00005110| 69 66 79 5f 76 61 72 69 | 61 62 6c 65 5f 79 20 20 |ify_vari|able_y |
|00005120| 59 33 0a 09 75 6e 69 66 | 79 5f 76 61 72 69 61 62 |Y3..unif|y_variab|
|00005130| 6c 65 5f 78 20 20 58 31 | 0a 09 70 75 74 5f 76 61 |le_x X1|..put_va|
|00005140| 72 69 61 62 6c 65 5f 79 | 20 20 59 32 2c 58 32 0a |riable_y| Y2,X2.|
|00005150| 09 63 61 6c 6c 20 20 6e | 72 65 76 65 72 73 65 2f |.call n|reverse/|
|00005160| 32 2c 33 0a 09 70 75 74 | 5f 6c 69 73 74 20 20 58 |2,3..put|_list X|
|00005170| 32 0a 09 75 6e 69 66 79 | 5f 76 61 6c 75 65 5f 77 |2..unify|_value_w|
|00005180| 72 69 74 65 5f 79 20 20 | 59 33 0a 09 75 6e 69 66 |rite_y |Y3..unif|
|00005190| 79 5f 6e 69 6c 5f 77 72 | 69 74 65 0a 09 70 75 74 |y_nil_wr|ite..put|
|000051a0| 5f 75 6e 73 61 66 65 5f | 76 61 6c 75 65 20 20 59 |_unsafe_|value Y|
|000051b0| 32 2c 58 31 0a 09 70 75 | 74 5f 76 61 6c 75 65 5f |2,X1..pu|t_value_|
|000051c0| 79 20 20 59 31 2c 58 33 | 0a 09 65 78 65 63 75 74 |y Y1,X3|..execut|
|000051d0| 65 5f 70 72 6f 63 20 20 | 63 6f 6e 63 61 74 65 6e |e_proc |concaten|
|000051e0| 61 74 65 2f 33 0a 5f 31 | 33 35 36 3a 0a 09 74 72 |ate/3._1|356:..tr|
|000051f0| 75 73 74 5f 6d 65 5f 65 | 6c 73 65 20 20 66 61 69 |ust_me_e|lse fai|
|00005200| 6c 0a 5f 31 33 34 35 3a | 0a 09 67 65 74 5f 6e 69 |l._1345:|..get_ni|
|00005210| 6c 20 20 58 31 0a 09 67 | 65 74 5f 6e 69 6c 20 20 |l X1..g|et_nil |
|00005220| 58 32 0a 09 70 72 6f 63 | 65 65 64 0a 0a 0a 70 72 |X2..proc|eed...pr|
|00005230| 6f 63 65 64 75 72 65 20 | 20 63 6f 6e 63 61 74 65 |ocedure | concate|
|00005240| 6e 61 74 65 2f 33 0a 0a | 09 73 77 69 74 63 68 5f |nate/3..|.switch_|
|00005250| 6f 6e 5f 74 65 72 6d 20 | 20 5f 32 33 38 38 2c 5f |on_term | _2388,_|
|00005260| 32 33 38 39 2c 66 61 69 | 6c 0a 5f 32 33 39 34 3a |2389,fai|l._2394:|
|00005270| 0a 09 74 72 79 5f 6d 65 | 5f 65 6c 73 65 20 20 5f |..try_me|_else _|
|00005280| 32 33 39 39 2c 33 0a 5f | 32 33 38 39 3a 0a 09 67 |2399,3._|2389:..g|
|00005290| 65 74 5f 6c 69 73 74 20 | 20 58 31 0a 09 75 6e 69 |et_list | X1..uni|
|000052a0| 66 79 5f 76 61 72 69 61 | 62 6c 65 5f 78 20 20 58 |fy_varia|ble_x X|
|000052b0| 34 0a 09 75 6e 69 66 79 | 5f 76 61 72 69 61 62 6c |4..unify|_variabl|
|000052c0| 65 5f 78 20 20 58 31 0a | 09 67 65 74 5f 6c 69 73 |e_x X1.|.get_lis|
|000052d0| 74 20 20 58 33 0a 09 75 | 6e 69 66 79 5f 76 61 6c |t X3..u|nify_val|
|000052e0| 75 65 5f 78 20 20 58 34 | 0a 09 75 6e 69 66 79 5f |ue_x X4|..unify_|
|000052f0| 76 61 72 69 61 62 6c 65 | 5f 78 20 20 58 33 0a 09 |variable|_x X3..|
|00005300| 65 78 65 63 75 74 65 5f | 70 72 6f 63 20 20 63 6f |execute_|proc co|
|00005310| 6e 63 61 74 65 6e 61 74 | 65 2f 33 0a 5f 32 33 39 |ncatenat|e/3._239|
|00005320| 39 3a 0a 09 74 72 75 73 | 74 5f 6d 65 5f 65 6c 73 |9:..trus|t_me_els|
|00005330| 65 20 20 66 61 69 6c 0a | 5f 32 33 38 38 3a 0a 09 |e fail.|_2388:..|
|00005340| 67 65 74 5f 76 61 6c 75 | 65 5f 78 20 20 58 32 2c |get_valu|e_x X2,|
|00005350| 58 33 0a 09 67 65 74 5f | 6e 69 6c 20 20 58 31 0a |X3..get_|nil X1.|
|00005360| 09 70 72 6f 63 65 65 64 | 0a 0a 0a 70 72 6f 63 65 |.proceed|...proce|
|00005370| 64 75 72 65 20 20 6c 69 | 73 74 33 30 2f 31 0a 0a |dure li|st30/1..|
|00005380| 5f 32 39 31 34 3a 0a 09 | 67 65 74 5f 6c 69 73 74 |_2914:..|get_list|
|00005390| 20 20 58 31 0a 09 75 6e | 69 66 79 5f 63 6f 6e 73 | X1..un|ify_cons|
|000053a0| 74 61 6e 74 20 20 26 31 | 0a 09 67 65 74 5f 63 64 |tant &1|..get_cd|
|000053b0| 72 5f 6c 69 73 74 0a 09 | 75 6e 69 66 79 5f 63 6f |r_list..|unify_co|
|000053c0| 6e 73 74 61 6e 74 20 20 | 26 32 0a 09 67 65 74 5f |nstant |&2..get_|
|000053d0| 63 64 72 5f 6c 69 73 74 | 0a 09 75 6e 69 66 79 5f |cdr_list|..unify_|
|000053e0| 63 6f 6e 73 74 61 6e 74 | 20 20 26 33 0a 09 67 65 |constant| &3..ge|
|000053f0| 74 5f 63 64 72 5f 6c 69 | 73 74 0a 09 75 6e 69 66 |t_cdr_li|st..unif|
|00005400| 79 5f 63 6f 6e 73 74 61 | 6e 74 20 20 26 34 0a 09 |y_consta|nt &4..|
|00005410| 67 65 74 5f 63 64 72 5f | 6c 69 73 74 0a 09 75 6e |get_cdr_|list..un|
|00005420| 69 66 79 5f 63 6f 6e 73 | 74 61 6e 74 20 20 26 35 |ify_cons|tant &5|
|00005430| 0a 09 67 65 74 5f 63 64 | 72 5f 6c 69 73 74 0a 09 |..get_cd|r_list..|
|00005440| 75 6e 69 66 79 5f 63 6f | 6e 73 74 61 6e 74 20 20 |unify_co|nstant |
|00005450| 26 36 0a 09 67 65 74 5f | 63 64 72 5f 6c 69 73 74 |&6..get_|cdr_list|
|00005460| 0a 09 75 6e 69 66 79 5f | 63 6f 6e 73 74 61 6e 74 |..unify_|constant|
|00005470| 20 20 26 37 0a 09 67 65 | 74 5f 63 64 72 5f 6c 69 | &7..ge|t_cdr_li|
|00005480| 73 74 0a 09 75 6e 69 66 | 79 5f 63 6f 6e 73 74 61 |st..unif|y_consta|
|00005490| 6e 74 20 20 26 38 0a 09 | 67 65 74 5f 63 64 72 5f |nt &8..|get_cdr_|
|000054a0| 6c 69 73 74 0a 09 75 6e | 69 66 79 5f 63 6f 6e 73 |list..un|ify_cons|
|000054b0| 74 61 6e 74 20 20 26 39 | 0a 09 67 65 74 5f 63 64 |tant &9|..get_cd|
|000054c0| 72 5f 6c 69 73 74 0a 09 | 75 6e 69 66 79 5f 63 6f |r_list..|unify_co|
|000054d0| 6e 73 74 61 6e 74 20 20 | 26 31 30 0a 09 67 65 74 |nstant |&10..get|
|000054e0| 5f 63 64 72 5f 6c 69 73 | 74 0a 09 75 6e 69 66 79 |_cdr_lis|t..unify|
|000054f0| 5f 63 6f 6e 73 74 61 6e | 74 20 20 26 31 31 0a 09 |_constan|t &11..|
|00005500| 67 65 74 5f 63 64 72 5f | 6c 69 73 74 0a 09 75 6e |get_cdr_|list..un|
|00005510| 69 66 79 5f 63 6f 6e 73 | 74 61 6e 74 20 20 26 31 |ify_cons|tant &1|
|00005520| 32 0a 09 67 65 74 5f 63 | 64 72 5f 6c 69 73 74 0a |2..get_c|dr_list.|
|00005530| 09 75 6e 69 66 79 5f 63 | 6f 6e 73 74 61 6e 74 20 |.unify_c|onstant |
|00005540| 20 26 31 33 0a 09 67 65 | 74 5f 63 64 72 5f 6c 69 | &13..ge|t_cdr_li|
|00005550| 73 74 0a 09 75 6e 69 66 | 79 5f 63 6f 6e 73 74 61 |st..unif|y_consta|
|00005560| 6e 74 20 20 26 31 34 0a | 09 67 65 74 5f 63 64 72 |nt &14.|.get_cdr|
|00005570| 5f 6c 69 73 74 0a 09 75 | 6e 69 66 79 5f 63 6f 6e |_list..u|nify_con|
|00005580| 73 74 61 6e 74 20 20 26 | 31 35 0a 09 67 65 74 5f |stant &|15..get_|
|00005590| 63 64 72 5f 6c 69 73 74 | 0a 09 75 6e 69 66 79 5f |cdr_list|..unify_|
|000055a0| 63 6f 6e 73 74 61 6e 74 | 20 20 26 31 36 0a 09 67 |constant| &16..g|
|000055b0| 65 74 5f 63 64 72 5f 6c | 69 73 74 0a 09 75 6e 69 |et_cdr_l|ist..uni|
|000055c0| 66 79 5f 63 6f 6e 73 74 | 61 6e 74 20 20 26 31 37 |fy_const|ant &17|
|000055d0| 0a 09 67 65 74 5f 63 64 | 72 5f 6c 69 73 74 0a 09 |..get_cd|r_list..|
|000055e0| 75 6e 69 66 79 5f 63 6f | 6e 73 74 61 6e 74 20 20 |unify_co|nstant |
|000055f0| 26 31 38 0a 09 67 65 74 | 5f 63 64 72 5f 6c 69 73 |&18..get|_cdr_lis|
|00005600| 74 0a 09 75 6e 69 66 79 | 5f 63 6f 6e 73 74 61 6e |t..unify|_constan|
|00005610| 74 20 20 26 31 39 0a 09 | 67 65 74 5f 63 64 72 5f |t &19..|get_cdr_|
|00005620| 6c 69 73 74 0a 09 75 6e | 69 66 79 5f 63 6f 6e 73 |list..un|ify_cons|
|00005630| 74 61 6e 74 20 20 26 32 | 30 0a 09 67 65 74 5f 63 |tant &2|0..get_c|
|00005640| 64 72 5f 6c 69 73 74 0a | 09 75 6e 69 66 79 5f 63 |dr_list.|.unify_c|
|00005650| 6f 6e 73 74 61 6e 74 20 | 20 26 32 31 0a 09 67 65 |onstant | &21..ge|
|00005660| 74 5f 63 64 72 5f 6c 69 | 73 74 0a 09 75 6e 69 66 |t_cdr_li|st..unif|
|00005670| 79 5f 63 6f 6e 73 74 61 | 6e 74 20 20 26 32 32 0a |y_consta|nt &22.|
|00005680| 09 67 65 74 5f 63 64 72 | 5f 6c 69 73 74 0a 09 75 |.get_cdr|_list..u|
|00005690| 6e 69 66 79 5f 63 6f 6e | 73 74 61 6e 74 20 20 26 |nify_con|stant &|
|000056a0| 32 33 0a 09 67 65 74 5f | 63 64 72 5f 6c 69 73 74 |23..get_|cdr_list|
|000056b0| 0a 09 75 6e 69 66 79 5f | 63 6f 6e 73 74 61 6e 74 |..unify_|constant|
|000056c0| 20 20 26 32 34 0a 09 67 | 65 74 5f 63 64 72 5f 6c | &24..g|et_cdr_l|
|000056d0| 69 73 74 0a 09 75 6e 69 | 66 79 5f 63 6f 6e 73 74 |ist..uni|fy_const|
|000056e0| 61 6e 74 20 20 26 32 35 | 0a 09 67 65 74 5f 63 64 |ant &25|..get_cd|
|000056f0| 72 5f 6c 69 73 74 0a 09 | 75 6e 69 66 79 5f 63 6f |r_list..|unify_co|
|00005700| 6e 73 74 61 6e 74 20 20 | 26 32 36 0a 09 67 65 74 |nstant |&26..get|
|00005710| 5f 63 64 72 5f 6c 69 73 | 74 0a 09 75 6e 69 66 79 |_cdr_lis|t..unify|
|00005720| 5f 63 6f 6e 73 74 61 6e | 74 20 20 26 32 37 0a 09 |_constan|t &27..|
|00005730| 67 65 74 5f 63 64 72 5f | 6c 69 73 74 0a 09 75 6e |get_cdr_|list..un|
|00005740| 69 66 79 5f 63 6f 6e 73 | 74 61 6e 74 20 20 26 32 |ify_cons|tant &2|
|00005750| 38 0a 09 67 65 74 5f 63 | 64 72 5f 6c 69 73 74 0a |8..get_c|dr_list.|
|00005760| 09 75 6e 69 66 79 5f 63 | 6f 6e 73 74 61 6e 74 20 |.unify_c|onstant |
|00005770| 20 26 32 39 0a 09 67 65 | 74 5f 63 64 72 5f 6c 69 | &29..ge|t_cdr_li|
|00005780| 73 74 0a 09 75 6e 69 66 | 79 5f 63 6f 6e 73 74 61 |st..unif|y_consta|
|00005790| 6e 74 20 20 26 33 30 0a | 09 75 6e 69 66 79 5f 6e |nt &30.|.unify_n|
|000057a0| 69 6c 0a 09 70 72 6f 63 | 65 65 64 0a 0a 0a 45 4f |il..proc|eed...EO|
|000057b0| 46 2e 73 68 61 72 0a 65 | 63 68 6f 20 65 78 74 72 |F.shar.e|cho extr|
|000057c0| 61 63 74 69 6e 67 20 70 | 61 6c 69 6e 32 35 2e 77 |acting p|alin25.w|
|000057d0| 0a 63 61 74 20 3e 20 70 | 61 6c 69 6e 32 35 2e 77 |.cat > p|alin25.w|
|000057e0| 20 3c 3c 20 27 45 4f 46 | 2e 73 68 61 72 27 0a 70 | << 'EOF|.shar'.p|
|000057f0| 72 6f 63 65 64 75 72 65 | 20 20 6d 61 69 6e 2f 30 |rocedure| main/0|
|00005800| 0a 0a 5f 37 32 37 3a 0a | 09 69 6e 69 74 20 20 59 |.._727:.|.init Y|
|00005810| 31 0a 09 70 75 74 5f 76 | 61 72 69 61 62 6c 65 5f |1..put_v|ariable_|
|00005820| 79 20 20 59 32 2c 58 31 | 0a 09 63 61 6c 6c 20 20 |y Y2,X1|..call |
|00005830| 70 61 6c 69 6e 32 35 2f | 31 2c 32 0a 09 70 75 74 |palin25/|1,2..put|
|00005840| 5f 75 6e 73 61 66 65 5f | 76 61 6c 75 65 20 20 59 |_unsafe_|value Y|
|00005850| 32 2c 58 31 0a 09 70 75 | 74 5f 76 61 72 69 61 62 |2,X1..pu|t_variab|
|00005860| 6c 65 5f 79 20 20 59 31 | 2c 58 32 0a 09 63 61 6c |le_y Y1|,X2..cal|
|00005870| 6c 20 20 73 65 72 69 61 | 6c 69 7a 65 2f 32 2c 31 |l seria|lize/2,1|
|00005880| 0a 09 70 75 74 5f 75 6e | 73 61 66 65 5f 76 61 6c |..put_un|safe_val|
|00005890| 75 65 20 20 59 31 2c 58 | 31 0a 09 65 73 63 61 70 |ue Y1,X|1..escap|
|000058a0| 65 20 20 77 72 69 74 65 | 2f 31 0a 09 65 73 63 61 |e write|/1..esca|
|000058b0| 70 65 20 20 6e 6c 2f 30 | 0a 09 70 72 6f 63 65 65 |pe nl/0|..procee|
|000058c0| 64 0a 0a 0a 70 72 6f 63 | 65 64 75 72 65 20 20 73 |d...proc|edure s|
|000058d0| 65 72 69 61 6c 69 7a 65 | 2f 32 0a 0a 5f 31 33 38 |erialize|/2.._138|
|000058e0| 30 3a 0a 09 69 6e 69 74 | 20 20 59 31 0a 09 70 75 |0:..init| Y1..pu|
|000058f0| 74 5f 76 61 72 69 61 62 | 6c 65 5f 79 20 20 59 32 |t_variab|le_y Y2|
|00005900| 2c 58 33 0a 09 63 61 6c | 6c 20 20 70 61 69 72 6c |,X3..cal|l pairl|
|00005910| 69 73 74 73 2f 33 2c 32 | 0a 09 70 75 74 5f 75 6e |ists/3,2|..put_un|
|00005920| 73 61 66 65 5f 76 61 6c | 75 65 20 20 59 32 2c 58 |safe_val|ue Y2,X|
|00005930| 31 0a 09 70 75 74 5f 76 | 61 72 69 61 62 6c 65 5f |1..put_v|ariable_|
|00005940| 79 20 20 59 31 2c 58 32 | 0a 09 63 61 6c 6c 20 20 |y Y1,X2|..call |
|00005950| 61 72 72 61 6e 67 65 2f | 32 2c 31 0a 09 70 75 74 |arrange/|2,1..put|
|00005960| 5f 75 6e 73 61 66 65 5f | 76 61 6c 75 65 20 20 59 |_unsafe_|value Y|
|00005970| 31 2c 58 31 0a 09 70 75 | 74 5f 63 6f 6e 73 74 61 |1,X1..pu|t_consta|
|00005980| 6e 74 20 20 26 31 2c 58 | 32 0a 09 70 75 74 5f 76 |nt &1,X|2..put_v|
|00005990| 61 72 69 61 62 6c 65 5f | 78 20 20 58 33 2c 58 33 |ariable_|x X3,X3|
|000059a0| 0a 09 65 78 65 63 75 74 | 65 5f 70 72 6f 63 20 20 |..execut|e_proc |
|000059b0| 6e 75 6d 62 65 72 65 64 | 2f 33 0a 0a 0a 70 72 6f |numbered|/3...pro|
|000059c0| 63 65 64 75 72 65 20 20 | 70 61 69 72 6c 69 73 74 |cedure |pairlist|
|000059d0| 73 2f 33 0a 0a 09 73 77 | 69 74 63 68 5f 6f 6e 5f |s/3...sw|itch_on_|
|000059e0| 74 65 72 6d 20 20 5f 32 | 31 39 36 2c 5f 32 31 39 |term _2|196,_219|
|000059f0| 37 2c 66 61 69 6c 0a 5f | 32 32 30 32 3a 0a 09 74 |7,fail._|2202:..t|
|00005a00| 72 79 5f 6d 65 5f 65 6c | 73 65 20 20 5f 32 32 30 |ry_me_el|se _220|
|00005a10| 37 2c 33 0a 5f 32 31 39 | 37 3a 0a 09 67 65 74 5f |7,3._219|7:..get_|
|00005a20| 6c 69 73 74 20 20 58 31 | 0a 09 75 6e 69 66 79 5f |list X1|..unify_|
|00005a30| 76 61 72 69 61 62 6c 65 | 5f 78 20 20 58 34 0a 09 |variable|_x X4..|
|00005a40| 75 6e 69 66 79 5f 76 61 | 72 69 61 62 6c 65 5f 78 |unify_va|riable_x|
|00005a50| 20 20 58 31 0a 09 67 65 | 74 5f 6c 69 73 74 20 20 | X1..ge|t_list |
|00005a60| 58 32 0a 09 75 6e 69 66 | 79 5f 76 61 72 69 61 62 |X2..unif|y_variab|
|00005a70| 6c 65 5f 78 20 20 58 35 | 0a 09 75 6e 69 66 79 5f |le_x X5|..unify_|
|00005a80| 76 61 72 69 61 62 6c 65 | 5f 78 20 20 58 32 0a 09 |variable|_x X2..|
|00005a90| 67 65 74 5f 6c 69 73 74 | 20 20 58 33 0a 09 75 6e |get_list| X3..un|
|00005aa0| 69 66 79 5f 76 61 72 69 | 61 62 6c 65 5f 78 20 20 |ify_vari|able_x |
|00005ab0| 58 36 0a 09 75 6e 69 66 | 79 5f 76 61 72 69 61 62 |X6..unif|y_variab|
|00005ac0| 6c 65 5f 78 20 20 58 33 | 0a 09 67 65 74 5f 73 74 |le_x X3|..get_st|
|00005ad0| 72 75 63 74 75 72 65 20 | 20 70 61 69 72 2f 32 2c |ructure | pair/2,|
|00005ae0| 58 36 2c 32 0a 09 75 6e | 69 66 79 5f 76 61 6c 75 |X6,2..un|ify_valu|
|00005af0| 65 5f 78 20 20 58 34 0a | 09 75 6e 69 66 79 5f 76 |e_x X4.|.unify_v|
|00005b00| 61 6c 75 65 5f 78 20 20 | 58 35 0a 09 65 78 65 63 |alue_x |X5..exec|
|00005b10| 75 74 65 5f 70 72 6f 63 | 20 20 70 61 69 72 6c 69 |ute_proc| pairli|
|00005b20| 73 74 73 2f 33 0a 5f 32 | 32 30 37 3a 0a 09 74 72 |sts/3._2|207:..tr|
|00005b30| 75 73 74 5f 6d 65 5f 65 | 6c 73 65 20 20 66 61 69 |ust_me_e|lse fai|
|00005b40| 6c 0a 5f 32 31 39 36 3a | 0a 09 67 65 74 5f 6e 69 |l._2196:|..get_ni|
|00005b50| 6c 20 20 58 31 0a 09 67 | 65 74 5f 6e 69 6c 20 20 |l X1..g|et_nil |
|00005b60| 58 32 0a 09 67 65 74 5f | 6e 69 6c 20 20 58 33 0a |X2..get_|nil X3.|
|00005b70| 09 70 72 6f 63 65 65 64 | 0a 0a 0a 70 72 6f 63 65 |.proceed|...proce|
|00005b80| 64 75 72 65 20 20 61 72 | 72 61 6e 67 65 2f 32 0a |dure ar|range/2.|
|00005b90| 0a 09 73 77 69 74 63 68 | 5f 6f 6e 5f 74 65 72 6d |..switch|_on_term|
|00005ba0| 20 20 5f 33 30 34 39 2c | 5f 33 30 35 30 2c 66 61 | _3049,|_3050,fa|
|00005bb0| 69 6c 0a 5f 33 30 35 35 | 3a 0a 09 74 72 79 5f 6d |il._3055|:..try_m|
|00005bc0| 65 5f 65 6c 73 65 20 20 | 5f 33 30 36 30 2c 32 0a |e_else |_3060,2.|
|00005bd0| 5f 33 30 35 30 3a 0a 09 | 67 65 74 5f 6c 69 73 74 |_3050:..|get_list|
|00005be0| 20 20 58 31 0a 09 75 6e | 69 66 79 5f 76 61 72 69 | X1..un|ify_vari|
|00005bf0| 61 62 6c 65 5f 78 20 20 | 58 33 0a 09 75 6e 69 66 |able_x |X3..unif|
|00005c00| 79 5f 76 61 72 69 61 62 | 6c 65 5f 78 20 20 58 31 |y_variab|le_x X1|
|00005c10| 0a 09 67 65 74 5f 73 74 | 72 75 63 74 75 72 65 20 |..get_st|ructure |
|00005c20| 20 74 72 65 65 2f 33 2c | 58 32 2c 33 0a 09 75 6e | tree/3,|X2,3..un|
|00005c30| 69 66 79 5f 76 61 72 69 | 61 62 6c 65 5f 79 20 20 |ify_vari|able_y |
|00005c40| 59 33 0a 09 75 6e 69 66 | 79 5f 76 61 6c 75 65 5f |Y3..unif|y_value_|
|00005c50| 78 20 20 58 33 0a 09 75 | 6e 69 66 79 5f 76 61 72 |x X3..u|nify_var|
|00005c60| 69 61 62 6c 65 5f 79 20 | 20 59 31 0a 09 70 75 74 |iable_y | Y1..put|
|00005c70| 5f 76 61 6c 75 65 5f 78 | 20 20 58 33 2c 58 32 0a |_value_x| X3,X2.|
|00005c80| 09 70 75 74 5f 76 61 72 | 69 61 62 6c 65 5f 79 20 |.put_var|iable_y |
|00005c90| 20 59 34 2c 58 33 0a 09 | 70 75 74 5f 76 61 72 69 | Y4,X3..|put_vari|
|00005ca0| 61 62 6c 65 5f 79 20 20 | 59 32 2c 58 34 0a 09 63 |able_y |Y2,X4..c|
|00005cb0| 61 6c 6c 20 20 73 70 6c | 69 74 2f 34 2c 34 0a 09 |all spl|it/4,4..|
|00005cc0| 70 75 74 5f 75 6e 73 61 | 66 65 5f 76 61 6c 75 65 |put_unsa|fe_value|
|00005cd0| 20 20 59 34 2c 58 31 0a | 09 70 75 74 5f 76 61 6c | Y4,X1.|.put_val|
|00005ce0| 75 65 5f 79 20 20 59 33 | 2c 58 32 0a 09 63 61 6c |ue_y Y3|,X2..cal|
|00005cf0| 6c 20 20 61 72 72 61 6e | 67 65 2f 32 2c 32 0a 09 |l arran|ge/2,2..|
|00005d00| 70 75 74 5f 75 6e 73 61 | 66 65 5f 76 61 6c 75 65 |put_unsa|fe_value|
|00005d10| 20 20 59 32 2c 58 31 0a | 09 70 75 74 5f 76 61 6c | Y2,X1.|.put_val|
|00005d20| 75 65 5f 79 20 20 59 31 | 2c 58 32 0a 09 65 78 65 |ue_y Y1|,X2..exe|
|00005d30| 63 75 74 65 5f 70 72 6f | 63 20 20 61 72 72 61 6e |cute_pro|c arran|
|00005d40| 67 65 2f 32 0a 5f 33 30 | 36 30 3a 0a 09 74 72 75 |ge/2._30|60:..tru|
|00005d50| 73 74 5f 6d 65 5f 65 6c | 73 65 20 20 66 61 69 6c |st_me_el|se fail|
|00005d60| 0a 5f 33 30 34 39 3a 0a | 09 67 65 74 5f 63 6f 6e |._3049:.|.get_con|
|00005d70| 73 74 61 6e 74 20 20 76 | 6f 69 64 2c 58 32 0a 09 |stant v|oid,X2..|
|00005d80| 67 65 74 5f 6e 69 6c 20 | 20 58 31 0a 09 70 72 6f |get_nil | X1..pro|
|00005d90| 63 65 65 64 0a 0a 0a 70 | 72 6f 63 65 64 75 72 65 |ceed...p|rocedure|
|00005da0| 20 20 73 70 6c 69 74 2f | 34 0a 0a 09 73 77 69 74 | split/|4...swit|
|00005db0| 63 68 5f 6f 6e 5f 74 65 | 72 6d 20 20 5f 34 37 36 |ch_on_te|rm _476|
|00005dc0| 30 2c 5f 34 37 36 31 2c | 66 61 69 6c 0a 5f 34 37 |0,_4761,|fail._47|
|00005dd0| 36 36 3a 0a 09 74 72 79 | 5f 6d 65 5f 65 6c 73 65 |66:..try|_me_else|
|00005de0| 20 20 5f 34 37 37 31 2c | 34 0a 5f 34 37 37 35 3a | _4771,|4._4775:|
|00005df0| 0a 09 67 65 74 5f 6c 69 | 73 74 20 20 58 31 0a 09 |..get_li|st X1..|
|00005e00| 75 6e 69 66 79 5f 76 61 | 6c 75 65 5f 78 20 20 58 |unify_va|lue_x X|
|00005e10| 32 0a 09 75 6e 69 66 79 | 5f 76 61 72 69 61 62 6c |2..unify|_variabl|
|00005e20| 65 5f 78 20 20 58 31 0a | 09 63 75 74 0a 09 65 78 |e_x X1.|.cut..ex|
|00005e30| 65 63 75 74 65 5f 70 72 | 6f 63 20 20 73 70 6c 69 |ecute_pr|oc spli|
|00005e40| 74 2f 34 0a 5f 34 37 37 | 31 3a 0a 09 72 65 74 72 |t/4._477|1:..retr|
|00005e50| 79 5f 6d 65 5f 65 6c 73 | 65 20 20 5f 34 38 31 32 |y_me_els|e _4812|
|00005e60| 0a 5f 34 38 31 36 3a 0a | 09 67 65 74 5f 76 61 72 |._4816:.|.get_var|
|00005e70| 69 61 62 6c 65 5f 79 20 | 20 59 33 2c 58 32 0a 09 |iable_y | Y3,X2..|
|00005e80| 67 65 74 5f 76 61 72 69 | 61 62 6c 65 5f 79 20 20 |get_vari|able_y |
|00005e90| 59 31 2c 58 34 0a 09 67 | 65 74 5f 6c 69 73 74 20 |Y1,X4..g|et_list |
|00005ea0| 20 58 31 0a 09 75 6e 69 | 66 79 5f 76 61 72 69 61 | X1..uni|fy_varia|
|00005eb0| 62 6c 65 5f 78 20 20 58 | 31 0a 09 75 6e 69 66 79 |ble_x X|1..unify|
|00005ec0| 5f 76 61 72 69 61 62 6c | 65 5f 79 20 20 59 34 0a |_variabl|e_y Y4.|
|00005ed0| 09 67 65 74 5f 6c 69 73 | 74 20 20 58 33 0a 09 75 |.get_lis|t X3..u|
|00005ee0| 6e 69 66 79 5f 76 61 6c | 75 65 5f 78 20 20 58 31 |nify_val|ue_x X1|
|00005ef0| 0a 09 75 6e 69 66 79 5f | 76 61 72 69 61 62 6c 65 |..unify_|variable|
|00005f00| 5f 79 20 20 59 32 0a 09 | 63 61 6c 6c 20 20 62 65 |_y Y2..|call be|
|00005f10| 66 6f 72 65 2f 32 2c 34 | 0a 09 63 75 74 0a 09 70 |fore/2,4|..cut..p|
|00005f20| 75 74 5f 76 61 6c 75 65 | 5f 79 20 20 59 34 2c 58 |ut_value|_y Y4,X|
|00005f30| 31 0a 09 70 75 74 5f 76 | 61 6c 75 65 5f 79 20 20 |1..put_v|alue_y |
|00005f40| 59 33 2c 58 32 0a 09 70 | 75 74 5f 76 61 6c 75 65 |Y3,X2..p|ut_value|
|00005f50| 5f 79 20 20 59 32 2c 58 | 33 0a 09 70 75 74 5f 76 |_y Y2,X|3..put_v|
|00005f60| 61 6c 75 65 5f 79 20 20 | 59 31 2c 58 34 0a 09 65 |alue_y |Y1,X4..e|
|00005f70| 78 65 63 75 74 65 5f 70 | 72 6f 63 20 20 73 70 6c |xecute_p|roc spl|
|00005f80| 69 74 2f 34 0a 5f 34 38 | 31 32 3a 0a 09 72 65 74 |it/4._48|12:..ret|
|00005f90| 72 79 5f 6d 65 5f 65 6c | 73 65 20 20 5f 34 39 34 |ry_me_el|se _494|
|00005fa0| 30 0a 5f 34 39 34 34 3a | 0a 09 67 65 74 5f 76 61 |0._4944:|..get_va|
|00005fb0| 72 69 61 62 6c 65 5f 79 | 20 20 59 33 2c 58 32 0a |riable_y| Y3,X2.|
|00005fc0| 09 67 65 74 5f 76 61 72 | 69 61 62 6c 65 5f 79 20 |.get_var|iable_y |
|00005fd0| 20 59 32 2c 58 33 0a 09 | 67 65 74 5f 6c 69 73 74 | Y2,X3..|get_list|
|00005fe0| 20 20 58 31 0a 09 75 6e | 69 66 79 5f 76 61 72 69 | X1..un|ify_vari|
|00005ff0| 61 62 6c 65 5f 78 20 20 | 58 32 0a 09 75 6e 69 66 |able_x |X2..unif|
|00006000| 79 5f 76 61 72 69 61 62 | 6c 65 5f 79 20 20 59 34 |y_variab|le_y Y4|
|00006010| 0a 09 67 65 74 5f 6c 69 | 73 74 20 20 58 34 0a 09 |..get_li|st X4..|
|00006020| 75 6e 69 66 79 5f 76 61 | 6c 75 65 5f 78 20 20 58 |unify_va|lue_x X|
|00006030| 32 0a 09 75 6e 69 66 79 | 5f 76 61 72 69 61 62 6c |2..unify|_variabl|
|00006040| 65 5f 79 20 20 59 31 0a | 09 70 75 74 5f 76 61 6c |e_y Y1.|.put_val|
|00006050| 75 65 5f 79 20 20 59 33 | 2c 58 31 0a 09 63 61 6c |ue_y Y3|,X1..cal|
|00006060| 6c 20 20 62 65 66 6f 72 | 65 2f 32 2c 34 0a 09 63 |l befor|e/2,4..c|
|00006070| 75 74 0a 09 70 75 74 5f | 76 61 6c 75 65 5f 79 20 |ut..put_|value_y |
|00006080| 20 59 34 2c 58 31 0a 09 | 70 75 74 5f 76 61 6c 75 | Y4,X1..|put_valu|
|00006090| 65 5f 79 20 20 59 33 2c | 58 32 0a 09 70 75 74 5f |e_y Y3,|X2..put_|
|000060a0| 76 61 6c 75 65 5f 79 20 | 20 59 32 2c 58 33 0a 09 |value_y | Y2,X3..|
|000060b0| 70 75 74 5f 76 61 6c 75 | 65 5f 79 20 20 59 31 2c |put_valu|e_y Y1,|
|000060c0| 58 34 0a 09 65 78 65 63 | 75 74 65 5f 70 72 6f 63 |X4..exec|ute_proc|
|000060d0| 20 20 73 70 6c 69 74 2f | 34 0a 5f 34 39 34 30 3a | split/|4._4940:|
|000060e0| 0a 09 74 72 75 73 74 5f | 6d 65 5f 65 6c 73 65 20 |..trust_|me_else |
|000060f0| 20 66 61 69 6c 0a 5f 34 | 37 36 30 3a 0a 09 67 65 | fail._4|760:..ge|
|00006100| 74 5f 6e 69 6c 20 20 58 | 31 0a 09 67 65 74 5f 6e |t_nil X|1..get_n|
|00006110| 69 6c 20 20 58 33 0a 09 | 67 65 74 5f 6e 69 6c 20 |il X3..|get_nil |
|00006120| 20 58 34 0a 09 70 72 6f | 63 65 65 64 0a 5f 34 37 | X4..pro|ceed._47|
|00006130| 36 31 3a 0a 09 74 72 79 | 20 20 5f 34 37 37 35 2c |61:..try| _4775,|
|00006140| 34 0a 09 72 65 74 72 79 | 20 20 5f 34 38 31 36 0a |4..retry| _4816.|
|00006150| 09 74 72 75 73 74 20 20 | 5f 34 39 34 34 0a 0a 0a |.trust |_4944...|
|00006160| 70 72 6f 63 65 64 75 72 | 65 20 20 62 65 66 6f 72 |procedur|e befor|
|00006170| 65 2f 32 0a 0a 5f 36 30 | 33 33 3a 0a 09 67 65 74 |e/2.._60|33:..get|
|00006180| 5f 73 74 72 75 63 74 75 | 72 65 20 20 70 61 69 72 |_structu|re pair|
|00006190| 2f 32 2c 58 31 2c 32 0a | 09 75 6e 69 66 79 5f 76 |/2,X1,2.|.unify_v|
|000061a0| 61 72 69 61 62 6c 65 5f | 78 20 20 58 31 0a 09 75 |ariable_|x X1..u|
|000061b0| 6e 69 66 79 5f 76 6f 69 | 64 0a 09 67 65 74 5f 73 |nify_voi|d..get_s|
|000061c0| 74 72 75 63 74 75 72 65 | 20 20 70 61 69 72 2f 32 |tructure| pair/2|
|000061d0| 2c 58 32 2c 32 0a 09 75 | 6e 69 66 79 5f 76 61 72 |,X2,2..u|nify_var|
|000061e0| 69 61 62 6c 65 5f 78 20 | 20 58 32 0a 09 75 6e 69 |iable_x | X2..uni|
|000061f0| 66 79 5f 76 6f 69 64 0a | 09 65 73 63 61 70 65 20 |fy_void.|.escape |
|00006200| 20 3c 2f 32 0a 09 70 72 | 6f 63 65 65 64 0a 0a 0a | </2..pr|oceed...|
|00006210| 70 72 6f 63 65 64 75 72 | 65 20 20 6e 75 6d 62 65 |procedur|e numbe|
|00006220| 72 65 64 2f 33 0a 0a 09 | 73 77 69 74 63 68 5f 6f |red/3...|switch_o|
|00006230| 6e 5f 74 65 72 6d 20 20 | 5f 36 36 34 31 2c 5f 36 |n_term |_6641,_6|
|00006240| 36 34 31 2c 5f 36 36 34 | 33 0a 5f 36 36 34 33 3a |641,_664|3._6643:|
|00006250| 0a 09 74 72 79 5f 6d 65 | 5f 65 6c 73 65 20 20 5f |..try_me|_else _|
|00006260| 36 36 35 32 2c 33 0a 5f | 36 36 35 36 3a 0a 09 67 |6652,3._|6656:..g|
|00006270| 65 74 5f 76 61 72 69 61 | 62 6c 65 5f 79 20 20 59 |et_varia|ble_y Y|
|00006280| 31 2c 58 33 0a 09 67 65 | 74 5f 73 74 72 75 63 74 |1,X3..ge|t_struct|
|00006290| 75 72 65 20 20 74 72 65 | 65 2f 33 2c 58 31 2c 33 |ure tre|e/3,X1,3|
|000062a0| 0a 09 75 6e 69 66 79 5f | 76 61 72 69 61 62 6c 65 |..unify_|variable|
|000062b0| 5f 78 20 20 58 31 0a 09 | 75 6e 69 66 79 5f 76 61 |_x X1..|unify_va|
|000062c0| 72 69 61 62 6c 65 5f 78 | 20 20 58 34 0a 09 75 6e |riable_x| X4..un|
|000062d0| 69 66 79 5f 76 61 72 69 | 61 62 6c 65 5f 79 20 20 |ify_vari|able_y |
|000062e0| 59 32 0a 09 67 65 74 5f | 73 74 72 75 63 74 75 72 |Y2..get_|structur|
|000062f0| 65 20 20 70 61 69 72 2f | 32 2c 58 34 2c 32 0a 09 |e pair/|2,X4,2..|
|00006300| 75 6e 69 66 79 5f 76 6f | 69 64 0a 09 75 6e 69 66 |unify_vo|id..unif|
|00006310| 79 5f 76 61 72 69 61 62 | 6c 65 5f 79 20 20 59 33 |y_variab|le_y Y3|
|00006320| 0a 09 70 75 74 5f 76 61 | 6c 75 65 5f 79 20 20 59 |..put_va|lue_y Y|
|00006330| 33 2c 58 33 0a 09 63 61 | 6c 6c 20 20 6e 75 6d 62 |3,X3..ca|ll numb|
|00006340| 65 72 65 64 2f 33 2c 33 | 0a 09 70 75 74 5f 76 61 |ered/3,3|..put_va|
|00006350| 72 69 61 62 6c 65 5f 78 | 20 20 58 35 2c 58 31 0a |riable_x| X5,X1.|
|00006360| 09 70 75 74 5f 76 61 6c | 75 65 5f 79 20 20 59 33 |.put_val|ue_y Y3|
|00006370| 2c 58 32 0a 09 70 75 74 | 5f 63 6f 6e 73 74 61 6e |,X2..put|_constan|
|00006380| 74 20 20 2b 2c 58 33 0a | 09 70 75 74 5f 63 6f 6e |t +,X3.|.put_con|
|00006390| 73 74 61 6e 74 20 20 26 | 31 2c 58 34 0a 09 65 73 |stant &|1,X4..es|
|000063a0| 63 61 70 65 20 20 69 73 | 2f 34 0a 09 70 75 74 5f |cape is|/4..put_|
|000063b0| 76 61 6c 75 65 5f 79 20 | 20 59 32 2c 58 31 0a 09 |value_y | Y2,X1..|
|000063c0| 70 75 74 5f 76 61 6c 75 | 65 5f 78 20 20 58 35 2c |put_valu|e_x X5,|
|000063d0| 58 32 0a 09 70 75 74 5f | 76 61 6c 75 65 5f 79 20 |X2..put_|value_y |
|000063e0| 20 59 31 2c 58 33 0a 09 | 65 78 65 63 75 74 65 5f | Y1,X3..|execute_|
|000063f0| 70 72 6f 63 20 20 6e 75 | 6d 62 65 72 65 64 2f 33 |proc nu|mbered/3|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.